B. Dependensi
Untuk melakukan tahapan normalisasi di atas, dependensi harus dihilangkan. Dependensi
digambarkan dalam definisi berikut : Jika A dan B adalah atribut (bisa lebih dari satu,
masing-masing) dalam relasi R, B disebut memiliki dependensi fungsional terhadap A jika
dan hanya jika tiap nilai A memiliki asosiasi dengan sebuah nilai di B. Dinotasikan dengan
A→B. A disebut determinan/penentu dan B disebut dependent/yang ditentukan.
1) Dependensi fungsional
staffNo → position
staffNo ← position (tidak bisa, karena position tidak unik)
staffNo → sName
staffNo ← sName
Sehingga diperoleh :
fd1 clientNo, propertyNo → rentStart, rentFinish (Primary key)
fd2 clientNo → cName (Partial dependency)
fd3 propertyNo → pAddress, rent, ownerNo, oName (Partial dependency)
fd4 ownerNo → oName (Transitive
dependency)
fd5 clientNo, rentStart → propertyNo, pAddress, (Candidate Key)
rentFinish, rent, ownerNo, oName
fd6 propertyNo, rentStart → clientNo, cName, rentFinish (Candidate Key)
3) Lakukan eliminasi dependensi fungsional parsial dan tentukan atribut yang memiliki dependensi
terhadap atribut lain sehingga diperoleh Bentuk Normal Kedua (2NF).
Sehingga diperoleh :
Client
fd2 clientNo → cName (Primary Key)
Rental
fd1 clientNo, propertyNo → rentStart, rentFinish (Primary Key)
fd5 clientNo, rentStart → propertyNo, pAddress, (Candidate Key)
rentFinish, rent, ownerNo, oName
fd6 (Candidate Key)
propertyNo, rentStart → clientNo, cName, rentFinish
PropertyOwner
fd3 propertyNo → pAddress, rent, ownerNo, oName (Primary Key)
fd4 ownerNo → oName (Transitive dependency)
4) Lakukan eliminasi dependensi transitif dan tentukan kembali dependensi antaratribut sehingga
diperoleh Bentuk Normal Ketiga (3NF) sebagai berikut :
Sebagai kesimpulan, langkah-langkah yang sudah dilakukan di atas dapat dirangkum dalam
bagan berikut: