
Beszéljük meg a különbségeket a 3NF és a BCNF között az alábbi táblázat segítségével.
Összehasonlító táblázat
Az összehasonlítás alapja | 3NF | BCNF |
---|---|---|
Koncepció | A nem-prím attribútumnak átmenetileg nem kell függenie a jelölt kulcsától. | Bármilyen triviális függőség esetén az R mondat szerint X-> Y, X az R viszony szuper kulcsa. |
Függőség | A 3NF az összes függőség feláldozása nélkül nyerhető. | A függőségeket nem lehet megőrizni a BCNF-ben. |
bomlás | A veszteségmentes bomlás 3NF-ben érhető el. | A BCNF-ben nehéz elérni a veszteségmentes bomlást. |
A 3NF meghatározása
A táblázat vagy a kapcsolat csak akkor tekinthető Harmadik Normál Formának, ha a táblázat már 2NF-ben van, és nincs olyan, prím attribútum, amely átmenetileg függ a kapcsolat jelöltkulcsától.
Tehát, mielőtt a 3NF-es táblázat normalizálásának folyamatát kezelném, hadd beszéljek meg a jelölt kulcsáról. A jelölt kulcsa minimális szuper kulcs, azaz egy szuper kulcs minimális attribútumokkal, amelyek meghatározhatják a kapcsolat minden attribútumát. Tehát a táblázat normalizálásának folyamatában először felismeri az adott kapcsolat jelöltkulcsát. A jelöltkulcs részét képező attribútumok az elsődleges attribútumok, és a nem kulcsfontosságú attribútumok a nem elsődleges attribútumok .
Most, ha egy R (A, B, C, D, E, F) reláció, és a következő függvényfüggőségek vannak az R. viszony tekintetében.

A táblázat 2NF-ben van, mivel a nem elsődleges attribútum részben függ a jelöltkulcstól
De a funkcionális függőségek között egy tranzitív függőség figyelhető meg, mivel az F attribútum nem függ közvetlenül az AB jelölt kulcstól . Ehelyett az F attribútum D attribútumon keresztül átmenetileg függ az AB jelöltkulcstól. A D attribútumnak van bizonyos értéke, amit elérhetünk ahhoz, hogy az F értéket az AB jelölt kulcsból adjuk meg. Abban az esetben, ha a D attribútum értéke NULL, akkor az AB jelölt kulcs segítségével soha nem találjuk meg az F értékét. Ez az oka annak, hogy a 3NF kéri, hogy távolítsa el a kapcsolatoktól való transzitív függőséget.
Tehát ahhoz, hogy eltávolítsuk ezt a transzitív függőséget, meg kell osztanunk az R. relációt. A kapcsolat megosztása mindig helyezze el a jelölt kulcsot, és az összes attribútumot, amely az adott jelszó kulcsától függ az első kapcsolatban. A következő megosztott viszonyban elhelyezzük a transzitív függőséget okozó attribútumot, valamint az attól függő attribútumokat is, amelyek a második összefüggésben vannak.

A BCNF meghatározása
A BCNF a 3NF-nél erősebb. A BCNF-ben lévő R relációnak 3NF-ben kell lennie. És ahol az A -> B nem-triviális függőség az R relációban van, akkor az A kapcsolónak az R viszonyának szuperkulcsa kell lennie. Mint tudjuk, a Super kulcs olyan kulcs, amely egyetlen attribútummal vagy attribútumkészlettel rendelkezik, amely meghatározza az egészet a kapcsolat attribútumai.
Most lépjünk tovább egy példára, hogy jobban megértsük a BCNF-et. Tegyük fel, feltételezzük, hogy van egy R (A, B, C, D, F) reláció, amely a következő funkcionális függőségekkel rendelkezik.

De egy funkcionális függőség, azaz a D -> F megsérti a BCNF definícióját, amely szerint, ha D -> F létezik, akkor D a szuper kulcs, ami itt nem így van. Így megosztjuk az R. viszonyt.

A legfontosabb különbségek a 3NF és a BCNF között
- A 3NF kimondja, hogy egyetlen nem-prím attribútumnak sem kell átmenetileg függnie a kapcsolat jelölt kulcsaitól. Másrészt a BCNF azt állítja, hogy ha egy triviális X -> Y függőség létezik egy kapcsolatra; akkor X-nek szuper kulcsnak kell lennie.
- A 3NF a kapcsolat függőségének feláldozása nélkül nyerhető. A függőség azonban nem tartható fenn a BCNF megszerzése közben.
- A 3NF-t anélkül lehet elérni, hogy elveszítenénk a régi táblázatból származó információt, míg a BCNF megszerzése közben elveszíthetünk néhány információt a régi táblázatból.
Következtetés:
A BCNF sokkal korlátozóbb, mint a 3NF, ami segít a táblázat normalizálásában. A 3NF-rel való kapcsolat minimális redundanciája maradt, amit a BCNF tovább távolít el.