Perbezaan antara BCNF dan 3NF

Perbezaan antara BCNF dan 3NF

BCNF vs. 3nf

Boyce Codd Borang Normal (juga dikenali sebagai BCNF) adalah bentuk normal -yang adalah satu bentuk yang menyediakan kriteria untuk menentukan tahap kelemahan meja terhadap ketidakkonsistenan logik dan anomali. Bentuk normal ini digunakan dalam normalisasi pangkalan data. Ia sedikit lebih kuat daripada pendahulunya, bentuk normal ketiga (juga dikenali sebagai 3NF). Jadual dianggap berada di BCNF jika dan hanya jika bagi setiap orang jika kebergantungan fungsionalnya yang tidak remeh -yang adalah sempadan yang ditetapkan di antara dua set atribut dalam hubungan yang diambil dari pangkalan data-adalah superkey (satu set dari set Atribut pemboleh ubah relasi yang mengemukakan bahawa dalam semua hubungan yang diberikan kepada pemboleh ubah tertentu tidak ada dua baris yang berbeza yang mengandungi nilai yang sama untuk atribut dalam set tertentu). BCNF mengemukakan bahawa mana -mana jadual yang gagal memenuhi kriteria yang akan dikaitkan sebagai BNCF terdedah kepada ketidakkonsistenan logik.

3nf adalah bentuk normal yang juga digunakan dalam normalisasi pangkalan data. Adalah difikirkan bahawa jadual berada dalam 3nf jika dan hanya jika 1) jadual berada dalam bentuk normal kedua (atau 2nf, yang merupakan kod biasa pertama, atau 1NF, yang telah memenuhi kriteria untuk menjadi 2nf), dan 2) Setiap atribut bukan perdana jadual tidak bergantung pada setiap kunci jadual (yang bermaksud ia tidak bergantung secara langsung pada setiap kunci). Terdapat satu lagi postulasi 3NF yang juga digunakan untuk menentukan perbezaan antara 3NF dan BCNF.

Teorem ini dikandung oleh Carlo Zaniolo pada tahun 1982. Ia menyatakan bahawa jadual berada dalam 3nf jika dan hanya jika untuk setiap kebergantungan berfungsi di mana x  † 'a, sekurang -kurangnya satu daripada tiga syarat mesti dipegang: sama ada x â †' a, x adalah superkey, atau a adalah atribut utama (yang bermaksud A terkandung dalam kunci calon -atau superkey minimum untuk hubungan itu). Definisi baru ini berbeza dari teorem BCNF dalam model yang terakhir hanya akan menghapuskan keadaan terakhir. Walaupun ia bertindak sebagai versi baru teorem 3nf, terdapat derivasi teorem Zaniolo. Ia menyatakan bahawa x  † 'a tidak remeh. Jika itu benar, biarkan menjadi atribut utama tengah hari dan juga biarkan y menjadi kunci r r. Jika itu memegang maka y  † 'x. Ini bermakna bahawa A tidak secara transitif bergantung pada y jika dan hanya jika x â † 'y (atau jika x adalah superkey.

Ringkasan:

1. BCNF adalah bentuk biasa di mana bagi setiap kebergantungan fungsional yang tidak remeh meja, adalah superkey; 3nf adalah bentuk normal di mana jadual berada dalam 2nf dan setiap atribut bukan prime tidak bergantung pada setiap kunci dalam jadual.