Page 79 - E-Modul Sistem Basis Data
P. 79
Perhatikan bahwa setelah didekomposisi, jumlah row di tabel Mahasiswa tetap 7
row, tapi di tabel Alamat berkurang menjadi 5 row, karena adanya 2 mahasiswa
baru yang beralamat sama dengan mahasiswa sebelumnya.
Dekomposisi diatas merupakan dekomposisi yang aman (Lossless-Join
Decomposition). Buktinya: jika kedua tabel tersebut kita gabungkan (join), maka
kita akan mendapatkan kembali tabel Mahasiswa mula-mula. Setelah
didekomposisi, maka tabel Mahasiswa akan memiliki KF sebagai berikut :
nim→ nama_mhs alamat_jalan nama_kota tgl_lahir
Karena (nim) merupakan salah satu superkey yang ada di tabel tersebut, maka dapat
kita katakan bahwa tabel Mahasiswa yang baru tersebut telah memenuhi BCNF.
Bagaimana dengan tabel Alamat? Memang benar bahwa nilai kode pos dapat
diketahui dari nilai alamat jalan dan nama kota.
Tapi kita juga tahu, bahwa dari nilai kode pos kita juga dapat mengetahui nilai nama
kota. Dengan begitu, maka tabel Alamat tersebut akan memiliki 2 buah KF, yaitu:
alamat_jalan nama kota → kode pos
dan kode_pos→ nama_kota
Gabungan atribut (alamat jalan, nama kota) memang merupakan superkey
pada tabel tersebut, tapi (kode pos) jelas bukanlah superkey pada tabel tersebut.
Nilai kode pos yang sama antara row 3 dan row 5 dengan jelas menunjukkan bahwa
(kode pos) tidak unik. Dengan demikian, maka tabel Alamat tidak memenuhi
BCNF. Karena itu, tabel Alamat ini harus didekomposisi lagi. Tapi bagaimana cara
mendekomposisinya? Karena KF yang pertama menghendaki ketiga atribut
tersebut tetap ada, sementara KF kedua tanpa atribut alamat jalan. Solusinya,
67