Perbezaan Antara BCNF dan 3NF

Anonim

BCNF vs 3NF

Borang normal Boyce Codd (juga dikenali sebagai BCNF) adalah bentuk biasa - iaitu bentuk yang menyediakan kriteria untuk menentukan tahap kerentanan jadual untuk ketidakkonsistenan dan anomali logik. Borang normal ini digunakan dalam normalisasi pangkalan data. Ia sedikit lebih kuat daripada pendahulunya, bentuk ketiga yang ketiga (juga dikenali sebagai 3NF). Sebuah jadual dianggap berada di BCNF jika dan hanya jika bagi setiap satu jika kebergantungan fungsi bukan-trivial - iaitu batas yang ditetapkan di antara dua set atribut dalam hubungan yang diambil dari pangkalan data- adalah superkey (satu set sifat-sifat pembolehubah 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 sifat-sifat di set tertentu). BCNF mengemukakan bahawa mana-mana jadual yang gagal memenuhi kriteria yang dianggap sebagai BNCF terdedah kepada ketidaksesuaian logik.

3NF adalah bentuk biasa yang juga digunakan dalam penataan pangkalan data. Adalah difikirkan bahawa jadual 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 bukan utama jadual tidak bergantung secara transit ke atas 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 disusun oleh Carlo Zaniolo pada tahun 1982. Ia menyatakan bahawa jadual adalah dalam 3NF jika dan hanya jika bagi setiap kebergantungan berfungsi 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 terakhir hanya akan 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 itu benar, biarkan A menjadi atribut atap utama dan juga biarkan Y menjadi kunci R. Jika yang memegang kemudian 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 berfungsi bukan meja yang tidak penting, adalah kekunci super; 3NF adalah bentuk normal di mana jadual berada di 2NF dan setiap atribut bukan utama tidak bergantung kepada setiap kunci dalam jadual.