Jumat, 20 Oktober 2017

Relasi antar tabel (bagian pertama)



Dalam sebuah database kita menyimpan data dalam bentuk table, agar data yang disimpan tidak memiliki anomaly maka perlu dilakukan terlebih dahulu proses normalisasi database, proses normalisasi adalah suatu proses dalam merancang database agar nantinya data yang disimpan dalam database tersebut tidak memiliki kerancuan dan tidak memiliki duplikasi data yang tidak perlu sehingga dapat menghemat media penyimpanan dan memudahkan dalam mengelola database tersebut.

Untuk melihat proses normalisasi sudah penulis buatkan videonya yang dapat ditonton di



Agar masing masing table tersebut dapat saling terhubung maka perlu ada satu field yang memiliki isi data yang sama diantara kedua buah table tersebut, dengan demikian jika kita membutuhkan data dari kedua table tersebut cukup dengan mengelola data yang memiliki isi data yang sama,

Dari dua table diatas terlihat bahwa kdjur pada table jurusan adalah merupakan primary key dan kdjur pada table mahasiswa merupakan foreigh key yang nantinya akan menghubungkan kedua table tersebut.

Jika kita menggunakan perintah select untuk menampilkan data yang ada didalam masing masing table maka untuk table jurusan akan tampil data kode jurusan dan nama jurusan yang sesuai dengan kodenya, sementara untuk table mahasiswa akan tampil kode mahasiswa, nim mahasiswa, nama mahasiswa, kode jurusan, kelamin, dan tanggal lahir, nah bagaimana kalau kita ingin menampilkan nim, nama mahasiswa, dan nama jurusannya sekaligus (bukan kode jurusan), perintahnya adalah :

Select mahasiswa.nim, mahasiswa.nmsiswa, jurusan.namajur
from mahasiswa, jurusan
where mahasiswa.kdjur = jurusan.kdjur;

hasilnya adalah :


Mahasiswa.nim artinya adalah nim yang disimpan ditabel mahasiswa, sementara jurusan.kdjur artinya adalah kdjur yang ada didalam table jurusan, dan mahasiswa.kdjur artinya adalah kode jurusan yang ada di table mahasiswa.

Artinya jika kita akan menampilkan data dari table dengan jumlah lebih dari satu table maka tiap field yang disebutkan harus dijelaskan field tersebut terletak ditabel apa.

Bagaimana caranya agar data diatas ditampilkan secara berurutan, misalnya jurusan manajemen informatika ditampilkan disebelah atas kemudian baru diikuti oleh jurusan Teknik computer, perintahnya adalah :

Select mahasiswa.nim, mahasiswa.nmsiswa, jurusan.namajur
from mahasiswa, jurusan
where mahasiswa.kdjur = jurusan.kdjur order by jurusan.kdjur asc;

hasilnya adalah :


Anda bandingkan dengan table berikut ini yang dihasilkan dengan perintah

Select mahasiswa.nim, mahasiswa.nmsiswa, jurusan.namajur
from mahasiswa, jurusan
where mahasiswa.kdjur = jurusan.kdjur order by jurusan.kdjur, mahasiswa.nim asc;

hasilnya: 


Dimanakah letak bedanya, pada table pertama nama jurusan diurut dari Manajemen Informatika kemudian baru Teknik computer dan demikian juga pada hasil yang kedua, tetapi pada hasil pertama urutan nim tidak terurut sehingga datanya terlihat kacau, sedangkan pada hasil kedua disamping diurut berdasarkan kode jurusan nim mahasiswa juga diurut dari yang kecil ke nim yang lebih besar, hal ini dihasilkan dari perintah order by yang disertakan dalam perintah select diatas, dimana prioritas pertama adalah order by jurusan.kdjurusan dan prioritas kedua adalah order by mahasiswa.nim

Sekian dulu untuk saat ini, nanti dilanjutkan lagi dengan relasi antara 3 (tiga) tabel dan akses lanjutan dalam mengelola database.

1 komentar: