Ero BCNF n ja 3NF n välillä

BCNF vs. 3NF

Boyce Coddin normaali muoto (tunnetaan myös nimellä BCNF) on normaali muoto - tämä on muoto, joka tarjoaa kriteerit taulukon haavoittuvuuden asteen määrittämiseksi loogisiin epäjohdonmukaisuuksiin ja poikkeavuuksiin. Tätä normaalia muotoa käytetään tietokannan normalisoinnissa. Se on hiukan vahvempi kuin edeltäjänsä, kolmas normaali muoto (tunnetaan myös nimellä 3NF). Taulukon ajatellaan olevan BCNF: ssä vain silloin, kun jokaiselle, jos sen ei-triviaaliset toiminnalliset riippuvuudet - eli raja, joka asetetaan kahden attribuuttijoukon väliin suhteessa tietokannasta - on supernäppäin (joukko relaatiomuuttujan attribuutit, jotka edellyttävät, että kaikissa kyseiselle muuttujalle määritetyissä suhteissa ei ole kahta erillistä riviä, jotka sisältävät saman arvon attribuutteille kyseisessä joukossa). BCNF olettaa, että jokainen taulukko, joka ei täytä BNCF: ksi määritettäviä ehtoja, on alttiina loogisille epäjohdonmukaisuuksille..

3NF on normaali muoto, jota käytetään myös tietokannan normalisoinnissa. Ajatellaan, että taulukon arvo on 3NF vain ja vain jos 1) taulukko on toisessa normaalimuodossa (tai 2NF, joka on ensimmäinen normaali koodi, tai 1NF, joka on täyttänyt 2NF-kriteerit), ja 2) jokainen taulukon ei-ensisijainen attribuutti ei ole transitiivisesti riippuvainen kaikista taulukon näppäimistä (tarkoittaen, että se ei ole suoraan riippuvainen jokaisesta näppäimestä). On 3NF: n toinen postulointi, jota käytetään myös määrittelemään erot 3NF: n ja BCNF: n välillä.

Tämän lauseen suunnitteli Carlo Zaniolo vuonna 1982. Siinä todetaan, että taulukko on 3NF: ssä vain ja vain jos jokaisella toiminnallisella riippuvuudella, jossa X â † 'A, vähintään yhden kolmesta ehdosta on oltava: joko X â †' A, X on supernäppäin tai A on ensisijainen ominaisuus (mikä tarkoittaa, että A sisältyy ehdokasavaimeen - tai minimaalinen supernäppäin tälle suhteelle). Tämä uudempi määritelmä eroaa BCNF: n lauseesta siinä, että jälkimmäinen malli yksinkertaisesti poistaisi viimeisen ehdon. Vaikka se toimii 3NF-lauseen uudempana versiona, Zaniolo-lauseesta on johdettu. Siinä todetaan, että X â † 'A on ei-triviaali. Jos tämä on totta, olkoon A keskipäiväinen attribuutti ja myös Y, olkoon R: n avain. Jos tämä pitää paikkansa, niin Y â 'X. Tämä tarkoittaa, että A ei ole transitiivisesti riippuvainen Y: stä ja vain jos X â † 'Y (tai jos X on supernäppäin.

Yhteenveto:

1. BCNF on normaali muoto, jossa jokaisen taulukon ei-triviaalinen funktionaalinen riippuvuus on supernäppäin; 3NF on normaalimuoto, jossa taulukko on 2NF: ssä ja jokainen ei-ensisijainen attribuutti ei ole transitiivisesti riippuvainen jokaisesta taulukon avaimesta..