Assalamu’alaikum wr.wb.
Selamat malam sahabat bloggers. Kali ini mumpung ada
kesempatan, niatnya mau posting tugas laporan lagi dan masih berkaitan dengan
yang kemaren tu. Tapi sekarang akan lebih variatif lagi. Karena akan belajar
cara membuat relasi pada tabel.
Relasi Tabel
Relasi tabel adalah hubungan antara beberapa tabel. Relasi
antar tabel dihubungkan oleh primary key
dan foreign key. Lalu apa
primary key dan foreign key itu ?
Primary key
adalah suatu atribut yang tidak hanya mengidentifikasikan secara unik
suatu kejadian tetapi juga mewakili setiap kejadian dari suatu entitas.
Foreign key
adalah atribut yang melengkapi relasi dan menunjukkan hubungan antara
tabel induk dengan tabel anak, foreign key ditempatkan pada tabel anak.
Untuk membuat suatu relasi maka masing-masing tabel harus
memiliki primary key dan foreign key untuk dapat menghubungkan antara tabel
induk dengan tabel anak. Sehingga diperlukan teknik normalisasi terlebih
dahulu. Normalisasi merupakan proses pengelompokkan data elemen menjadi tabel
yang menunjukkan entitas dan relasinya.
Pertama-tama yang wajib dilakukan adalah membuat database
baru terlebih dahulu. Jika sudah ada, bisa langsung menggunakannya saja dan
jangan sampai ketinggalan untuk masuk ke database tersebut. Tetapi disini saya
lebih memilih untuk menggunakan database yang sudah lama. Daripada kebanyakan
database jadi gak karu-karuan kan? Toh, cuman buat latihan doang kok. Hehe..
Oke, lanjut ke materi. Setelah itu membuat 2 tabel yang
nantinya akan direlasikan keduanya agar saling terhubung satu sama lain. Untuk
lebih jelasnya akan dibahas dibawah ini.
1. Membuat tabel
Pertama,
buat tabel induk dulu. Tabel inilah yang nantinya akan dihubungkan dengan tabel
anak.
Query dasarnya CREATE TABLE
nama_tabel (nama_kolom1 tipedata keterangan, nama_kolom2 tipedata keterangan);.
Selanjutnya buat tabel anaknya. Jika ingin direlasikan, sesuaikan nama_kolom
dan tipedata dari tabel induk terhadap tabel anak. Sehingga kolom ini akan
menjadi foreign key pada tabel anak. Dan untuk merelasikan keduanya, simak
gambar yang ada dibawah ini.
2. Memasukkan data
Masukkan
data pada tabel fakultas dahulu. Perintahnya yaitu INSERT INTO fakultas VALUES(1,’SAINTEK’);. Dan lanjutkan memasukkan
data fakultas yang kedua. Jika sudah,
maka gantian tabel mahasiswa yang diisi data. Langsung aja contohnya INSERT INTO mahasiswa
VALUES(12,’edi’,’malang’,’085645342800’,1);. Lalu lanjutkan isi datanya
seperti gambar berikut ini.
3. Menampilkan data
Untuk
menampilkan data yang berada pada suatu tabel, query yang digunakan adalah SELECT nama_kolom FROM nama_tabel;. Jika
yang ingin ditampilkan adalah kolom tertentu atau terpilih, maka bisa
menggunakan tanda koma. Contohnya seperti dibawah ini.
Jika ingin menampilkan keseluruhan kolom perintah nama_kolom bisa diganti dengan
asterisk(*). Dan apabila ingin menampilkan data dari baris tertentu, maka bisa
menggunakan WHERE yang diletakkan
setelah nama tabel. Jangan lupa juga diberi kata kunci dibelakang where
tersebut tentang data apa yang ingin dicari. Contohnya berikut ini.
Dibawah
ini merupakan contoh menampilkan data dari relasi 2 tabel antara tabel
mahasiswa dan fakultas yang dibelakang where terdapat kata kunci dimana kunci
tersebut sangat berperan dalam menampilkan data yang bersangkutan.
4. Menghapus data dengan kondisi (WHERE)
Dengan
menggunakan cara ini, kita bisa menghapus baris data yang kita inginkan tanpa
takut data yang lain ikut terhapus. Asalkan benar saja saat memasukkan
querynya. Contohnya kita akan menghapus data mahasiswa yang memiliki nim 13,
querynya seperti berikut.
5. Memodifikasi data
Untuk
memodifikasi atau mengubah data bisa menggunakan perintah UPDATE nama_tabel SET
nama_kolom=data_baru;. Disertai juga dengan WHERE, yang mengkondisikan data apa yang ingin diubah. Lebih
jelasnya ada digambar berikut ini.
6. Mengurutkan data
Mengurutkan
atau sorting data berguna agar kita dapat menemukan data dengan mudah. Perintah
yang biasa digunakan adalah SELECT* FROM
nama_tabel ORDER BY nama_kolom DESC/ASC;. Apabila ingin mengurutkan data
dari yang besar ke kecil, tambahkan saja DESC
(descending). Sebaliknya, apabila ingin mengurutkan dari kecil ke besar
gunakan ASC (ascending). Contoh descending dibawah ini.
Sedangkan
contoh ascending ada dibawah ini.
7. Menampilkan data dengan AND
Sebelum
menggunakan AND, cek dulu kedua tabel yang telah dibuat. Cara dibawah ini
adalah cara untuk menampilkan keseluruhan data yang ada, baik itu di tabel
mahasiswa maupun di tabel fakultas. Perintah where tetap digunakan agar data yang ditampilkan tidak
bertumpuk-tumpuk. Contohnya pada gambar berikut.
Disini
kita menggunakan AND untuk mencari dan
menampilkan data dari suatu tabel yang tertentu yang kita ingin tampilkan.
Contohnya dibawah ini. Kita ingin mencari mahasiswa yang kuliah di fakultas
SAINTEK.
Sedangkan
jika kita ingin mencari dan menampilkan data mahasiswa yang tidak berada di
fakultas SAINTEK, maka tinggal diberi tanda seru (!) sebelum sama dengan yang
terakhir.
8. Menghapus data pada kolom tertentu
Seperti
yang sebelumnya, querynya sangat mudah dan sederhana. Contoh langsungnya yang
jelas seperti dibawah ini.
Kesimpulan
Perintah dalam MySQL ataupun Postgre sebenarnya terkadang
memiliki kesamaan. Contohnya seperti yang telah dibahas diatas. Dalam membuat,
menghapus, memasukkan, memodifikasi, menampilkan, dan mengurutkan data memiliki
kesamaan dalam struktur perintahnya. Hanya dibagian tertentu yang tidak sama.
Seperi pada MySQL, yaitu pada cara merelasikan 2 tabel, ada kata CASCADE. Cascade ini merupakan salah
satu opsi pada tabel yang mereferensikan foreign key.
Cascade sendiri memiliki arti baris-baris dalam tabel anak
yang berisi nilai-nilai yang juga terdapat dalam kolom terkait dari tabel induk
dihapus ketika baris-baris yang berkaitan dihapus dari tabel induk. Baris-baris
dalam tabel anak yang berisi nila-nilai yang juga terdapat dalam kolom terkait
dari tabel induk diupdate ketika nilai-nilai yang berkaitan diupdate dalam
tabel induk. Opsi yang lainnya antara lain.
1. RESTRICT, jika tabel anak berisi nilai kolom
yang sama dengan kolom induk, baris
dalam kolom induk tidak bisa dihapus. Begitu pun dengan update.
2. SET NULL, nilai-nilai dalam kolom yang
mengkait dari tabel anak akan diset NULL saat baris-baris dengan data terkait
dalam tabel induk dihapus, atau ketika data tersebut diupdate pada tabel induk.
3. NO ACTION, tidak ada aksi yang diambil dalam
tabel anak ketika baris pada tabel induk dihapus atau diupdate.
4. SET DEFAULT, nilai dalam kolom yang ada pada
tabel anak akan diset ke nilai default ketika baris dihapus dari tabel induk
atau diupdate.
Kurang lebih itulah perbandingannya menurut saya pribadi.
Dengan ini juga semoga dapat menambah wawasan para readers tentang pemrograman
SQLnya, khususnya yang menggunakan DBMS MySQL. Sekian dulu, akan dilanjutkan dikemudian
hari. See ya, thanks..
Wassalamu’alaikum wr.wb.
Referensi:
Tidak ada komentar:
Posting Komentar