Marilah kita membincangkan perbezaan antara 3NF dan BCNF dengan bantuan carta perbandingan yang ditunjukkan di bawah.
Carta Perbandingan
Asas untuk Perbandingan | 3NF | BCNF |
---|---|---|
Konsep | Tiada atribut bukan perdana mestilah bergantung kepada kunci Calon. | Untuk apa-apa kebergantungan remeh dalam hubungan R berkata X-> Y, X harus menjadi kunci utama hubungan R. |
Ketergantungan | 3NF boleh didapati tanpa mengorbankan semua kebergantungan. | Ketergantungan tidak boleh dipelihara di BCNF. |
Penguraian | Penguraian yang tidak dapat dicapai dapat dicapai dalam 3NF. | Penguraian yang tidak dapat dilupakan sukar diperolehi dalam BCNF. |
Definisi 3NF
Jadual atau hubungan dianggap sebagai dalam Form Normal Ketiga hanya jika jadual sudah di 2NF dan tidak ada atribut non-utama secara transit bergantung kepada kunci calon hubungan.
Jadi, sebelum saya menangani proses menormalkan jadual dalam 3NF, izinkan saya membincangkan kunci calon. Kunci Calon adalah kunci super minima iaitu kunci super dengan atribut minima yang dapat menentukan semua atribut hubungan. Oleh itu, dalam proses menormalkan jadual anda, pertama, anda mengiktiraf kunci calon hubungan tertentu. Atribut-atribut yang menjadi sebahagian daripada kunci calon adalah atribut utama, dan sifat-sifat yang bukan sebahagian daripada kunci calon adalah sifat-sifat bukan utama .
Sekarang jika kita mempunyai hubungan R (A, B, C, D, E, F) dan kita mempunyai fungsi dependensi berikut untuk hubungan R.
Jadual di 2NF kerana tiada atribut bukan utama bergantung sebahagiannya pada kunci calon
Tetapi, pergantungan transitif diperhatikan di antara kebergantungan berfungsi yang disediakan, kerana atribut F tidak bergantung kepada kunci utama calon. Sebaliknya, atribut F secara transitif bergantung kepada kunci utama AB melalui atribut D. Sehingga atribut D mempunyai nilai yang dapat kita jangkau ke nilai atribut F, dari kunci utama AB. Sekiranya nilai atribut D adalah NULL kita tidak boleh mencari / mencari nilai F dengan bantuan kunci AB calon. Ini adalah sebab mengapa 3NF menuntut untuk menghapuskan pergantungan transitif dari hubungan.
Oleh itu, untuk menghapuskan pergantungan ini, kita perlu membahagikan hubungan R. Semasa membahagikan hubungan selalu meletakkan kunci calon, dan semua sifat yang bergantung pada kunci calon dalam hubungan pertama. Dalam hubungan dibahagikan seterusnya, kami akan meletakkan atribut yang menyebabkan pergantungan transitif dan juga sifat-sifat yang bergantung kepadanya dalam hubungan kedua.
Definisi BCNF
BCNF dianggap lebih kuat daripada 3NF. Hubungan R untuk berada di BCNF mestilah dalam 3NF . Dan di mana sahaja pergantungan fungsi bukan- trivial A -> B memegang berkaitan R, maka A mesti menjadi superkey dari hubungan R. Seperti yang kita ketahui, kunci Super adalah kunci yang mempunyai atribut tunggal atau set atribut yang menentukan, keseluruhannya sifat hubungan.
Sekarang, mari kita beralih kepada contoh untuk memahami BCNF dengan cara yang lebih baik. Marilah kita, katakan kita mempunyai hubungan R (A, B, C, D, F), yang mempunyai kebergantungan fungsi berikut.
Tetapi satu pergantungan fungsional iaitu D -> F melanggar definisi BCNF, mengikut mana, jika D -> F ada maka D harus menjadi kunci super yang tidak demikian di sini. Jadi kita akan membahagikan hubungan R.
Perbezaan Utama Antara 3NF dan BCNF
- 3NF menyatakan bahawa tiada atribut bukan utama yang mesti secara transitif bergantung kepada kunci calon hubungannya. Di sisi lain, BCNF menyatakan bahawa jika kebergantungan fungsi yang remeh X -> Y wujud bagi suatu hubungan; maka X mesti menjadi kunci super.
- 3NF boleh diperolehi tanpa mengorbankan pergantungan hubungan. Walau bagaimanapun, pergantungan mungkin tidak dipelihara semasa mendapatkan BCNF.
- 3NF boleh dicapai tanpa kehilangan apa-apa maklumat dari meja lama sedangkan, sambil mendapatkan BCNF kita boleh kehilangan beberapa maklumat dari meja lama.
Kesimpulan:
BCNF adalah lebih ketat daripada 3NF yang membantu dalam menormalkan jadual lebih. Hubungan dalam 3NF mempunyai kelebihan minimum yang ditinggalkan yang selanjutnya dikeluarkan oleh BCNF.