Forskjell mellom BCNF og 3NF Forskjellen mellom

Anonim

BCNF vs. 3NF

Boyce Codd normal form (også kjent som BCNF) er en vanlig form-det er et skjema som gir kriterier for å bestemme en tabells grad av sårbarhet for logiske inkonsekvenser og uregelmessigheter. Denne vanlige formen brukes i databasen normalisering. Det er litt sterkere enn forgjengeren, den tredje normale form (også kjent som 3NF). Et bord er antatt å være i BCNF hvis og bare hvis for hver en, hvis dens ikke-trivielle funksjonelle avhengigheter - det er en grense som er satt mellom to sett av attributter i et forhold tatt fra en database - er en supernøkkel (et sett med attributter av en relasjonsvariabel som postulerer at i alle relasjoner som er tilordnet den spesifikke variabelen, finnes det ingen to forskjellige rader som inneholder samme verdi for attributter i det aktuelle settet). BCNF postulaterer at et bord som ikke oppfyller kriteriene som skal tilskrives som BNCF, er sårbart for logiske inkonsekvenser.

3NF er en vanlig form som også brukes i database normalisering. Det antas at et bord er i 3NF hvis og bare hvis 1) tabellen er i andre normale form (eller 2NF, som er en første normal kode, eller 1NF, som har møtt kriteriene for å bli 2NF), og 2) Hver ikke-toppattributt av bordet er ikke-transitt avhengig av hver tast i tabellen (det betyr at den ikke er direkte avhengig av hver nøkkel). Det er en annen postulering av 3NF som også brukes til å definere forskjellene mellom 3NF og BCNF.

Denne teorien ble oppfattet av Carlo Zaniolo i 1982. Det står at en tabell er i 3NF hvis og bare hvis for hver funksjonell avhengighet der X â † 'A, minst en av tre forhold må holde: enten X â † 'A, X er en supernøkkel, eller A er en hovedattributt (som betyr at A er inneholdt i en kandidatnøkkel - eller en minimal supernøkkel for det forholdet). Denne nyere definisjonen er forskjellig fra teorien til en BCNF ved at den sistnevnte modellen bare ville eliminere den siste tilstanden. Selv som det virker som en nyere versjon av 3NF-setningen, er det en avledning av Zaniolo-teoremetoden. Det står at X â † 'A ikke er trivielt. Hvis det er sant, la A være en noon-nøkkelattributt, og la Y være en nøkkel til R. Hvis det holder så Y â † 'X. Dette betyr at A ikke er transitt avhengig av Y hvis og bare hvis X â † 'Y (eller hvis X er en supernøkkel.

Sammendrag:

1. BCNF er en vanlig form der for hver av tabellens ikke-trivielle funksjonelle avhengigheter, er en supernøkkel; 3NF er en normal form der tabellen er i 2NF, og hver ikke-prime-attributt er ikke-transitt avhengig av hver nøkkel i tabellen.