Különbség a BCNF és a 3NF között

BCNF vs 3NF

A Boyce Codd normál forma (más néven BCNF) egy normál forma - ez olyan forma, amely kritériumokat határoz meg a táblázat logikai inkonzisztenciákkal és rendellenességekkel szembeni sebezhetőségének meghatározására. Ezt a normál formát használják az adatbázis normalizálásában. Kicsit erősebb, mint elődjénél, a harmadik normál formában (más néven 3NF). Úgy gondoljuk, hogy egy táblázat BCNF-ben van, és csak akkor, ha nem-triviális funkcionális függőségei - azaz egy határ, amelyet az adatbázisból vett relációban két attribútumkészlet között állítunk - szuper kulcs (egy sor egy relációs változó attribútumai, amelyek azt feltételezik, hogy az adott változóhoz rendelt összes relációban nincs két különálló sor, amelyek ugyanazt az értéket tartalmazzák az adott halmaz attribútumai számára). A BCNF azt állítja, hogy minden olyan tábla, amely nem felel meg a BNCF-ként való besorolás kritériumainak, érzékeny a logikai következetlenségekre.

A 3NF egy normál forma, amelyet szintén használnak az adatbázis normalizálásában. Úgy gondolják, hogy egy táblázat 3NF formátumban van akkor és csak akkor, ha 1) a táblázat második normál formában van (vagy 2NF, amely egy első normál kód, vagy 1NF, amely teljesíti a 2NF kritérium kritériumait), és 2) a táblázat minden nem elsődleges tulajdonsága nem tranzitíven függ a tábla minden kulcsától (vagyis nem közvetlenül függ minden kulcstól). Van még egy 3NF posztuláció, amelyet szintén használnak a 3NF és a BCNF közötti különbségek meghatározására.

Ezt a tételt Carlo Zaniolo 1982-ben fogalmazta meg. Azt állítja, hogy egy táblázat 3NF-ben van, és csak akkor, ha minden funkcionális függőségnél, ahol X â † 'A, a három feltétel közül legalább egynek fenn kell állnia: vagy X â †' A, X egy szuper kulcs, vagy A egy elsődleges attribútum (ami azt jelenti, hogy A egy jelölt kulcsban van, vagy egy minimális szuper kulcs ebben a relációban). Ez az újabb meghatározás abban különbözik a BCNF tételétől, hogy az utóbbi modell egyszerűen kiküszöböli az utolsó feltételt. Annak ellenére, hogy a 3NF tétel újabb verziójaként működik, létezik a Zaniolo tétel derivációja. Azt állítja, hogy X â 'A nem triviális. Ha ez igaz, akkor Legyen A egy dél-kulcs attribútum, és legyen Y is R kulcs. Ha ez tart, akkor Y â 'X. Ez azt jelenti, hogy A nem tranzitíven függ Y-től, csak akkor, ha X â † 'Y (vagy ha X szuper kulcs.

Összefoglaló:

1. A BCNF egy normál forma, amelyben a táblázat minden nem triviális funkcionális függősége esetén szuper kulcs; A 3NF egy normál forma, amelyben a táblázat 2NF formátumban van, és minden nem elsődleges attribútum nem tranzitíven függ a tábla minden kulcsától.