Perbezaan Antara 3NF dan BCNF
3NF vs BCNF
Normalisasi adalah proses yang dilakukan untuk meminimumkan redundansi yang ada dalam data dalam pangkalan data hubungan. Proses ini akan membahagikan jadual besar ke jadual kecil dengan redundansi kurang. Jadual-jadual kecil ini akan dikaitkan dengan satu sama lain melalui hubungan yang jelas. Dalam pangkalan data yang baik, sebarang perubahan atau pengubahsuaian dalam data memerlukan hanya mengubah satu jadual. Borang Ketiga Ketiga (3NF) diperkenalkan pada tahun 1971 oleh Edgar F. Codd, yang juga pencipta model relasional dan konsep normalisasi. Borang Normal Boyce-Codd (BCNF) diperkenalkan pada tahun 1974 oleh Codd dan Raymond F. Boyce.
Apa itu 3NF?
3NF ialah bentuk normal Ketiga yang digunakan dalam normalisasi pangkalan data hubungan. Menurut definisi Codd, jadual dikatakan berada dalam 3NF, jika dan hanya jika, jadual itu dalam bentuk normal kedua (2NF), dan setiap atribut dalam jadual yang tidak tergolong dalam kunci calon harus bergantung kepada setiap kunci calon jadual itu. Pada tahun 1982, Carlo Zaniolo menghasilkan definisi yang berbeza untuk 3NF. Jadual yang mematuhi 3NF umumnya tidak mengandungi anomali yang berlaku apabila memasukkan, memadam atau mengemas kini rekod dalam jadual.
Apa itu BCNF?
BCNF (juga dikenali sebagai 3. 5NF) adalah satu lagi bentuk normal yang digunakan dalam normalisasi pangkalan data relasi. Ia diperkenalkan untuk menangkap beberapa anomali yang tidak ditangani oleh 3NF. Jadual dikatakan berada dalam BCNF, jika dan hanya jika, bagi setiap kebergantungan bentuk A → B yang tidak remeh, A adalah kunci super. Menentukan jadual yang tidak dalam bentuk normal BCNF tidak menjamin pengeluaran jadual dalam bentuk BCNF (sambil mengekalkan kebergantungan yang terdapat di dalam jadual asal).
Apakah perbezaan antara 3NF dan BCNF?
Kedua-dua 3NF dan BCNF adalah bentuk biasa yang digunakan dalam pangkalan data hubungan untuk meminimumkan kekurangan dalam jadual. Dalam jadual yang terdapat dalam bentuk normal BCNF, untuk setiap kebergantungan fungsi non-trivial borang A → B, A adalah kunci super manakala jadual yang mematuhi 3NF harus berada di 2NF, dan setiap non-perdana atribut hendaklah terus bergantung kepada setiap kunci calon jadual tersebut. BCNF dianggap sebagai bentuk normal yang lebih kuat daripada 3NF dan ia telah dibangunkan untuk menangkap beberapa anomali yang tidak dapat ditangkap oleh 3NF. Mendapatkan jadual yang mematuhi borang BCNF akan memerlukan penguraian meja yang berada di 3NF. Penguraian ini akan menghasilkan operasi gabungan tambahan (atau produk Cartesian) apabila melaksanakan pertanyaan. Ini akan meningkatkan masa pengiraan. Sebaliknya, jadual-jadual yang mematuhi BCNF akan mempunyai redundanci yang lebih sedikit daripada jadual yang hanya mematuhi 3NF.Tambahan pula, kebanyakan masa, adalah mungkin untuk mendapatkan jadual yang mematuhi 3NF tanpa menghalang pemeliharaan ketergantungan dan penghalang tanpa kehilangan. Tetapi ini tidak selalu mungkin dengan BCNF.