BCNF vs 3NF
Boyce Coddi normaalne vorm (tuntud ka kui BCNF) on normaalne vorm - see on vorm, mis pakub kriteeriume tabeli haavatavuse määra määramiseks loogiliste ebakõlade ja kõrvalekallete suhtes. Seda normaalset vormi kasutatakse andmebaasi normaliseerimisel. See on natuke tugevam kui tema eelkäija, kolmas normaalne vorm (tuntud ka kui 3NF). Arvatakse, et tabel on BCNF-is siis ja ainult siis, kui iga ühe jaoks mitte-triviaalsed funktsionaalsed sõltuvused - see on piir, mis on seatud kahe atribuudi komplekti vahel andmebaasist võetud suhtena - on superklahv (komplekt relatsioonilise muutuja atribuudid, mis eeldab, et kõigis sellele konkreetsele muutujale omistatavates suhetes pole kahte eraldiseisvat rida, mis sisaldavad selle konkreetse komplekti atribuutide jaoks sama väärtust). BCNF postuleerib, et iga tabel, mis ei vasta BNCF-na omistamise kriteeriumidele, on loogiliste vastuolude suhtes haavatav.
3NF on tavaline vorm, mida kasutatakse ka andmebaasi normaliseerimisel. Arvatakse, et tabel on 3NF-ga siis ja ainult siis, kui 1) tabel on teisel normaalsel kujul (või 2NF, mis on esimene normaalne kood, või 1NF, mis on täitnud kriteeriumid, et saada 2NF), ja 2) iga tabeli mitte-primaarne atribuut ei sõltu transitiivselt igast tabeli võtmest (see tähendab, et see ei sõltu otseselt igast võtmest). On veel üks 3NF postuleerimine, mida kasutatakse ka erinevuste määratlemiseks 3NF ja BCNF vahel.
Selle teoreemi töötas välja Carlo Zaniolo 1982. aastal. Selles öeldakse, et tabel on 3NF-s ainult siis ja ainult siis, kui iga funktsionaalse sõltuvuse korral, kus X â † 'A, peab olema vähemalt üks kolmest tingimusest: kas X â †' A, X on superklahv või A on peamine atribuut (mis tähendab, et A sisaldub kandidaatvõtmes - või selle suhte minimaalne superklahv). See uuem määratlus erineb BCNF teoreemist selle poolest, et viimane mudel lihtsalt kõrvaldaks viimase tingimuse. Isegi kui see toimib 3NF-teoreemi uuema versioonina, on olemas Zaniolo-teoreemi tuletis. Selles öeldakse, et X ā ei ole triviaalne. Kui see vastab tõele, olgu A kesknurga atribuut ja laske Y-l olla ka R võti. Kui see kehtib, siis Y â 'X. See tähendab, et A ei sõltu transitiivsest Y-st siis ja ainult siis, kui X â † 'Y (või kui X on superklahv.
Kokkuvõte:
1. BCNF on tavaline vorm, milles iga tabeli mittetriviaalne funktsionaalne sõltuvus on ülivõti; 3NF on tavaline vorm, kus tabel on 2NF-is ja iga ülitähtis atribuut ei sõltu transitiivselt igast tabeli võtmest..