Page 89 - E-Modul Sistem Basis Data Berbasis PjBL
P. 89
Karena (npm) merupakan salah satu superkey yang ada di tabel tersebut, maka
dapat kita katakan bahwa tabel Mahamahasiswa 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,
dengan hanya mendasarkan diri pada data yang ada, KF yang pertama kita
sederhanakan menjadi:
Alamat_jalan→ kode pos
Sehingga hasil dekomposisi tabel Alamat adalah:
Tabel Alamat 1 Tabel Alamat 2
alamat_jalan kode_pos kode_pos nama_kota
Maransi 40135 40135 Padang
76