Perbezaan Antara BCNF dan 3NF

BCNF vs 3NF

Borang normal Boyce Codd (juga dikenali sebagai BCNF) adalah bentuk normal - iaitu bentuk yang menyediakan kriteria untuk menentukan tahap kerentanan jadual untuk ketidakkonsistenan logikal dan anomali. Bentuk normal ini digunakan dalam normalisasi pangkalan data. Ia sedikit lebih kuat daripada pendahulunya, bentuk ketiga yang ketiga (juga dikenali sebagai 3NF). Jadual dianggap di BCNF jika dan hanya jika bagi setiap orang jika kebergantungan fungsi bukan-trivialnya - iaitu sempadan yang ditetapkan di antara dua set atribut dalam hubungan yang diambil dari pangkalan data- adalah kancing super (satu set atribut pemboleh ubah relasi yang menyatakan bahawa dalam semua hubungan yang diberikan kepada pemboleh ubah tertentu tidak ada dua baris yang berbeda yang mengandung nilai yang sama untuk atribut dalam set tertentu). BCNF mengemukakan bahawa mana-mana jadual yang gagal untuk memenuhi kriteria yang dianggap sebagai BNCF terdedah kepada ketidaksesuaian logik.

3NF adalah bentuk biasa yang juga digunakan dalam normalisasi pangkalan data. Adalah difikirkan bahawa jadual adalah dalam 3NF jika dan hanya jika 1) jadual berada dalam bentuk normal kedua (atau 2NF, iaitu kod biasa pertama, atau 1NF, yang memenuhi kriteria untuk menjadi 2NF), dan 2) setiap atribut non-utama jadual tidak secara transit bergantung kepada setiap kunci jadual (bermakna ia tidak bergantung kepada setiap kunci). Terdapat satu lagi postulasi 3NF yang juga digunakan untuk menentukan perbezaan antara 3NF dan BCNF.

Teorem ini diilhamkan oleh Carlo Zaniolo pada tahun 1982. Ia menyatakan bahawa jadual adalah dalam 3NF jika dan hanya jika bagi setiap kebergantungan fungsi di mana X â † 'A, sekurang-kurangnya satu daripada tiga syarat mesti dipegang: sama ada X â †' A, X adalah kekunci super, atau A adalah atribut utama (yang bermaksud A terkandung dalam kekunci calon atau kekunci super minimum untuk hubungan itu). Takrifan yang lebih baru ini berbeza dengan teorem BCNF kerana model yang terakhir itu hanya dapat menghapuskan keadaan terakhir. Walaupun ia berfungsi sebagai versi teorem 3N yang lebih baru, terdapat derivasi teorem Zaniolo. Ia menyatakan bahawa X â † 'A adalah tidak remeh. Sekiranya ini benar, biarkan A menjadi atribut kunci tengah dan juga biarkan Y menjadi kunci R. Jika itu memegang maka Y â † 'X. Ini bermakna A tidak bergantung secara transitif kepada Y jika dan hanya jika X â † 'Y (atau jika X adalah kekunci super.

Ringkasan:

1. BCNF adalah bentuk yang biasa di mana untuk setiap satu ketergantungan fungsi non-kecil meja, adalah seorang superkey; 3NF adalah bentuk normal di mana jadual berada di 2NF dan setiap atribut bukan utama tidak bergantung kepada setiap kunci dalam jadual.