Ero BCNF ja 3NF



BCNF vs. 3NF

Boyce Codd normaalimuoto (tunnetaan myös BCNF) on normaali muoto Cthat on lomake, joka tarjoaa määritysperusteita taulukon 's aste haavoittuvuutta loogisia epäjohdonmukaisuuksia ja poikkeamia. Tämä normaalia muotoa käytetään tietokannan normalisointi. Se on vähän vahvempi kuin edeltäjänsä, kolmas normaalimuoto (tunnetaan myös 3NF). taulukko ajatellaan olevan BCNF jos ja vain jos jokaista jos sen ei-triviaali toiminnallisten riippuvuuksien Cthat on raja, joka on asetettu toisistaan ​​kaksi attribuutteja suhde otettu databaseC on superkey (joukko ominaisuuksia relaatiotietokantoihin muuttujan oletetaan, että kaikissa suhteissa osoitettu, että tietty muuttuja ei ole kahta erillistä riviä sisältävät saman arvon määritteet kyseisessä set ). BCNF oletetaan, että kaikki taulukon, joka ei täytä luettava kuin BNCF on altis looginen epäjohdonmukaisuuksia.

3NF on normaali muoto, jota käytetään myös tietokantaan normalisointi. Uskotaan, että pöytä on 3NF jos ja vain jos 1) taulukossa on toinen normaali muodossa (tai 2NF, joka on ensimmäinen normaali koodin tai 1NF, joka on täyttänyt kriteerit tulla 2NF), ja 2) jokainen ei-prime ominaisuus pöytä on ei-transitiivisesti riippuvaisia ​​jokainen näppäin taulukon (eli se ei ole suoraan riippuvainen jokainen näppäin). On toinen olettamukselle on 3NF, että käytetään myös määrittelemään erot 3NF ja BCNF.

Tämä lause sikisi Carlo Zaniolo vuonna 1982. Siinä todetaan, että pöytä on 3NF jos ja vain jos jokaiselle funktionaalinen riippuvuus jossa Xa? 'A, ainakin yksi kolmesta edellytyksistä on oltava joko Xa?' A, X on superkey, tai A on erinomainen määrite (mikä merkitsee on sisällä ehdokas avain Cor minimaalinen superkey että suhde). Tämä uudempi määritelmä eroaa lause on BCNF että jälkimmäinen malli olisi yksinkertaisesti poistaa viimeisen kunnossa. Jo se toimii uudempi versio 3NF lause, on johtaminen Zaniolo lause. Siinä todetaan, että Xa? 'A on ei-triviaali. Jos tämä on totta, Olkoon A keskipäivän keskeinen ominaisuus ja myös antaa Y keskeinen R. Jos joka pitää sitten Ya?' X. Tämä tarkoittaa, että A ei ole transitiivisesti riippuvainen Y, jos ja vain jos Xa? 'Y (tai jos X on superkey.



Yhteenveto: