Introduction
Apa itu Basis Data?
Basis data sering disebut juga database adalah kumpulan informasi yang disimpan dki dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu progrma kompute runtuk memperoleh informasi dari basis data tersebut. Database digunakan untuk menyimpan informasi atau data yang terintregasi dengan baik.
Yang akan kita pelajaran adalah MySQL yang kita kenal sebagai database relasional.
MySQL -> Program
SQL - > Bahasa Pemrograman
Dapat disimpulkan bahwa penggunaan MySQL disini menggunakan bahasa SQL yang pada dasarnya memiliki 2 jenis perintah, yaitu :
- DDL ( Data Definition Language )
- DML ( Data manipulation Languange )
DDL (Data Definition Language), yaitu perintah SQL yang berhubungan dengan pendefinisian suatu struktur database,dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini yaitu :
- CREATE, untuk membuat objek yang baru (database atau tabel).
- ALTER, untuk mengubah objek
- DROP, untuk menghapus objek.
- Create
Create Database [NamaDatabase];
Create table [NamaTabel]( Value );
- Alter
SYNTAX ALTER TABLE [NamaTabel] [Option]
- ADD definisi_field_baru
- MODIFY definis_field
- DROP nama_field
- RENAME TO nama_tabel_baru
- Drop
- SYNTAX DROP DATABASE [NAMA DATABASE];
- SYNTAX DROP TABLE [Nama tabel];
Data Manupulation Language (DML), merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam tabel. Perintah SQL yang termasuk kedalam DML antara lain :
- SELECT
- INSERT
- UPDATE
- DELETE
Select
Perintah ini digunakan
untuk menampilkan sesuatu berupa data dari tabel atau suatu ekspresi (aggregasi
, dll).
Berbagai perintah
select antara lain :
a. Menampilkan Seluruh
Isi Tabel
Select *from [NamaTabel]
b. Menampilkan
Menggunakan Klausa WHERE
Select *from
[NamaTabel] Where [Kondisi]
c. Menampilkan Bebeberapa
field dari beberapa tabel
Select [NamaField,...]
from [NamaTabel1,NamaTabel2,...] Where [Kondisi]
d. Menampilkan
Menggunakan Opertor And dan Or
Select
[NamaField] From [NamTabel1] Where [Kondisi Or, Kondisi And]
e. Menampilkan
Menggunakan Between dan Not Between
Select
[NamaField] From [Nama Tabel] Where [Kondisi Between]
f. Menampilkan
Menggunakan Kondisi Like dan Not like
Select
[NamaField] From [Nama Tabel] Where [Kondisi Like] / [Kondisi Not like]
Insert
Perintah ini digunakan
untuk menambah record atau data ke dalam tabel
INSERT INTO [NamaTabel] Values (‘nilai1’,’nilai2’,...);
Bentuk lain
INSERT (Nama Field) INTO [NamaTabel] VALUES (‘Nilai1’,...);
Update
Sewaktu-waktu kita
memerlukan untuk mengedit data yang ada didalam suatu tabel.
UPDATE [NamaTabel] Set field1=’value’
WHERE kondiisi;
Delete
Proses ini menghapus
data atau record yang ada di dalam tabel. Berhati hatilah ketika menghapus
record
DELETE FROM [NamaTabel] WHERE Kondisi
Agregasi
Berikut beberapa fungsi agregasi yang dapat digunakan dalam SQL.
| Perintah Agregasi | Sintaks | Keterangan |
| Avg() | Select Avg(nama_field) from nama_tabel
| Menghasilkan nilai rata – rata nilai dari field numerik |
| Count() | Select Count(nama_field) from nama_tabel
| Menghasilkan nilai jumlah data |
| Max() | Select Max(nama_field) from nama_tabel
| Menghasilkan nilai tertinggi dari field numerik |
| Min() | Select Min(nama_field) from nama_tabel
| Menghasilkan nilai terendah dari field numerik |
| Sum() | Select Sum(nama_field) from nama_tabel
| Menghasilkan nilai total dari field numerik |
| Round() | Select Round(nama_field, jumlah_desimal) from nama_tabel
| Melengkapi bidang numeric dengan jumlah desimal yang telah ditentukan. |
| StdDev_Pop() | Select StdDev_Pop(nama_field) from nama_tabel
| Menghasilkan nilai standar deviasi populasi |
| Var_Pop() | Select Var_Pop(nama_field) from nama_tabel
| Menghasilkan nilai standar varian populasi |
Nama Field yang akan tercetak adalah fungsi agregasi setelah klausa select. Untuk mengubah nama field ini dapat dengan cara menambahkan ‘as nama_field’ diantara fungsi agregasi dan klausa from.
GROUPING
1. Order By
Order by adalah perintah yang digunakan untuk menampilkan data secara terurut berdasarkan nilai tertentu. Order by dikelompok menjadi 2 jenis yaitu ascending (data diurutkan dari yang terkecil ke terbesar) dan descending(data diurutkan dari yang terbesar ke terkecil).
SELECT *FROM(nama_tabel) ORDER BY atribut ASC/DESC
Contoh :
SELECT *FROM matkul ORDER BY matkul DESC;
2. Group By
Group by merupakan perintah yang digunakan untuk mengelompokan beberapa data pada perintah SELECT;
SELECT *FROM(nama_tabel) GROUP BY atribut;
Contoh:
SELECT * FROM nilai GROUP BY nim;
3. Having
Fungsi Having terkait dengan GROUP BY dan AGREGASI. Biasanya digunakan untuk menentukan kondisi tertentu pada group by dan kondisi tersebut berkaitan dengan fungsi agrgasi. Fungsi HAVING sebenarnya memiliki kemiripan dengan WHERE dalam penggunaannya. HAVING digunakan dalam SQL karena WHERE tidak dapat digunakan dengan fungsi agregasi.
SELECT atribut FROM nama_tabel GROUP BY atribut HAVING fungsi_agregasi:
Contoh:
SELECT nim, kode_matkul, nilai FROM nilai GROUP BY nim, kode_matkul HAVING
AVG(nilai)>80;
4. View
View dapat disebut sebagai sebuah table semu/bayangan. Data-data pada table view dapat merupakan gabungan dari data pada tabe-tabel lain. View dapat digunakan untuk membatasi pengaksesan atas sebuah table tertentu, jadi user hanya boleh melihat table yang berisi data-data secara spesifik.
CREATE VIEW NAMA_VIEW AS<QUERY>
Contoh:
CREATE VIEW V_nilaiMHS as Select a.nim, a.nama, b.nama_matkul, c.nama_dosen,
d.nilai
FROM mahasiswa as a, matkul as b, nilai as d, dosen as c
WHERE a.nim=d.nim and b.kode_matkul=d.kode_matkul and c.nip=b.nip;
Untuk Menampilkan :
SELECT * FROM Nama_Tabel_semu_yg_telah_dibuat;
SELECT * FROM V_nilaiMHS;
ERD
ER-Diagram didefinisikan sebagai penerjemahan semesta data yang ada di 'dunia nyata' dengan memanfaatkan sejumlah perangkat konseptual menjadi sejumlah diagram data. Sederhananya, ER-D adalah suatu cara memodelkan suatu data di tingkat konseptual dalam perancangan basis data. Model ini juga merupakan alat modelling data yang populer dan banyak digunakan oleh para desainer basis data.
Adapun komponen ER-Diagram adalah sebagai berikut:
1. Entitas
Entitas didefinisikan sebagai individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Sederhananya, entitas dikenal sebagai suatu objek yang dapat dibedakan dengan objek lainnya di dalam dunia nyata. Entitas di dalam ER-D direpresentasikan oleh bangun datar persegi panjang. Adapun beberapa contoh entitas adalah sebagai berikut: siswa, pegawai, guru, mobil, dan seterusnya.
2. Atribut
Atribut merupakan karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Atribut di dalam ER-D direpresentasikan dalam bentuk bangun datar oval.
Adapun beberapa contoh atribut adalah sebagai berikut:
nomor_induk_siswa, nama, alamat, dan seterusnya.
3. Relasi
Relasi didefinisikan sebagai hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Sederhananya, relasi dikenal sebagai hubungan yang terjadi antara satu atau lebih entitas. Relasi pada ER-D direpresentasikan dalam bentuk bangun datar belah ketupat. Adapun beberapa contoh relasi adalah sebagai berikut: mengontrak, transaksi, dan mengepalai.
4. Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. Adapun kardinalitas yang terjadi diantara dua himpunan entitas adalah sebagai berikut:
a. One to One
Kardinalitas ini terjadi apabila entitas (aku) berhubungan dengan paling banyak satu entitas (kamu), begitu pun sebaliknya. Sederhananya, relasi tabel one-to-one merupakan relasi 2 tabel dengan primary key (pk) dan foreign key (fk) dengan meletakkan kolom one-to-one ke tabel baru. Sebenarnya relasi ini jarang digunakan.
Adapun beberapa alasan relasi ini digunakan adalah sebagai berikut:
· Memindahkan data ke tabel lain memungkinkan untuk membuat query yang lebih cepat;
· Mengisolasi dan menghindarkan nilai NULL pada tabel utama;
· Membuat sebagian data susah diakses.
Di sini, mari menggunakan entitas kepala_sekolah, sekolah, dan relasi mengepalai.
Mari kita lihat perancangannya:
ER-D tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
kepala_sekolah : nip, nama, alamat
sekolah : npsn, nama, alamat
b. One to Many dan Many to One
Kardinalitas One to Many terjadi apabila entitas (aku) berhubungan dengan banyak entitas (kamu, dia_1, dia_n), tetapi tidak berlaku sebaliknya, dalam artian entitas (kamu, dia_1, dia_n) hanya berhubungan dengan satu entitas (aku). Kardinalitas Many to One terjadi apabila entitas (saya_1, saya_2, saya_n) berhubungan dengan satu entitas (kamu), tetapi tidak berlaku sebaliknya, dala artian entitas (kamu) berhubungan dengan banyak entitas (saya_1, saya_2, saya_n).
Relasi One to Many terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua. Pada relasi ini hanya diizinkan sebuah data pada tabel pertama dan tabel kedua boleh memiliki beberapa data yang sama dengan tabel pertama. Relasi Many to One berlaku sebaliknya. Mari kita simak perancangan berikut ini dengan menggunakan entitas ibu, anak, dan relasi memiliki.
ER-D tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
ibu : nik_ibu, nama, alamat
anak : nik_anak, nama, jenis_kelamin, alamat, nik_ibu
c. Many to many
Kardinalitas Many to Many terjadi apabila banyak entitas (saya, dia_1, dia_n) berhubungan dengan banyak entitas (kamu, kamuu, kamuuu). Relasi Many to Many terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada table kedua, dan sebuah data yang ada pada tabel kedua juga memiliki beberapa data yang sama pada tabel pertama. Pada relasi ini, table pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua table tersebut. Mari kita simak perancangan berikut yang melibakan entitas dosen, mahasiswa, dan relasi mengajar.
ER-D tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
dosen : nip, nama, tgl_lahir, jenis_kelamin, alamat
mahasiswa : nim, nama, tgl_lahir, jenis_kelamin, alamat
mengajar : id_mengajar, nip, nim






