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

Szerző: Laura McKinney
A Teremtés Dátuma: 1 Április 2021
Frissítés Dátuma: 17 Lehet 2024
Anonim
Különbség a 3NF és a BCNF között - Technológia
Különbség a 3NF és a BCNF között - Technológia

Tartalom


Normalizálás egy módszer, amely eltávolítja redundancia relációból, minimalizálva az adatbázisok teljesítményét rontó beillesztési, törlési és frissítési rendellenességeket. Ebben a cikkben különbséget teszünk két magasabb normál forma között, azaz a 3NF és a BCNF. A 3NF és a BCNF közötti alapvető különbség az 3NF kiküszöböli a tranzitív függőséget egy relációtól és egy táblától, hogy BCNF-ben legyen, a relációban lévő X-> Y triviális funkcionális függőségnek csak akkor kell fennállnia, ha X a szuper kulcs.

Az alább bemutatott összehasonlító táblázat segítségével tárgyaljuk meg a 3NF és a BCNF közötti különbségeket.


  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapja3NFBCNF
KoncepcióA nem elsődleges attribútumoknak nem szabad tranzitíven függniük a Jelölt kulcsotól.Az R reláció bármilyen triviális függősége esetén mondjuk X-> Y, X-nek az R reláció szuperkulcsának kell lennie.
FüggőségA 3NF megszerezhető az összes függőség feláldozása nélkül.A függőségeket nem lehet megőrizni a BCNF-ben.
bomlásA 3NF veszteségmentes bomlás érhető el.A veszteségmentes bomlást nehéz elérni a BCNF-ben.


Meghatározása 3NF

Egy táblázat vagy egy kapcsolat beláthatónak tekinthető Harmadik normál forma csak akkor, ha az asztal már van 2NF és nincs nem elsődleges tulajdonság tranzitíven függ a jelölt kulcs egy kapcsolat.

Tehát, mielőtt elkezdeném a táblázat normalizálását a 3NF-ben, engedjék meg, hogy megvitassam a jelölt kulcsot. A Jelölt kulcs jelentése minimális szuper kulcs vagyis egy szuper kulcs minimális attribútumokkal, amelyek meghatározhatják a reláció összes attribútumát. Tehát a táblázat normalizálása során először felismeri egy adott kapcsolat jelölt kulcsát. A jelölt kulcs részét képező attribútumok: elsődleges tulajdonságok, és azok a attribútumok, amelyek nem képezik a jelölt kulcs részét nem elsődleges attribútumok.

Ha R (A, B, C, D, E, F) relációval rendelkezünk, és az R reláció függvényei a következők:

Megfigyelve a funkcionális függőségeket, arra következtethetünk AB jelölt kulcs az R relációhoz, mert az AB kulcs használatával megkereshetjük az R reláció összes attribútumának értékét A, B válik elsődleges tulajdonságok mivel ők együtt jelöltet képeznek. Az attribútumok C, D, E, F válik nem elsődleges attribútumok, mert egyikük sem képezi a jelölt kulcs részét.

A táblázat 2NF formátumban van, mivel egyetlen nem elsődleges attribútum sem részben függ a jelölt kulcsától

De a tranzitív függőség megfigyelhető a megadott funkcionális függőségek között, mint attribútum F nem közvetlenül függ a jelölt kulcstól AB. Ehelyett attribútum F jelentése tranzitíven a jelölt kulcstól függ AB attribútumon keresztül D. A D attribútumnak van olyan értéke, amelyet elérhetünk az F attribútumértékhez, az AB jelölt kulcsból. Ha a D attribútum értéke NULL, soha nem találhatjuk meg / keressük meg az F értékét az AB jelölt kulcs segítségével. Ez az oka annak, hogy a 3NF megköveteli a tranzitív függőség eltávolítását a kapcsolatokról.

Tehát, hogy eltávolítsuk ezt a tranzitív függőséget, meg kell osztanunk az R relációt. Ha viszony eloszlásakor mindig helyezzük a jelölt kulcsot, és az összes attribútumot, amely az adott reláció kulcsától függ az első relációban. A következő megosztott relációban a tranzitív függőséget okozó tulajdonságot, valamint az attól függő attribútumokat helyezzük a második relációba.

Az R1 és R2 táblák most 3NF formátumban vannak, mivel nincs részleges és tranzitív függősége. Kapcsolat R1 (A, B, C, D, E) rendelkezik jelölt kulccsal AB mivel viszony R2 (D, E) van D mint jelölt kulcsa.

A BCNF meghatározása

A BCNF-et erősebbnek tekintik, mint a 3NF. Az R relációnak a BCNF-ben kell lennie 3NF. És bárhol a nem triviális funkcionális függőség A -> B akkor R vonatkozásban érvényes A kell a Superkey Mint tudjuk, a szuper kulcs olyan kulcs, amely egyetlen attribútummal vagy attribútumkészlettel rendelkezik, amely meghatározza a kapcsolat teljes attribútumait.

Most térjünk át egy példához, hogy jobban megértsük a BCNF-t. Tegyük fel, hogy van kapcsolatunk R (A, B, C, D, F), amelyeknek a következő funkcionális függőségei vannak.

Az R kapcsolat megfigyelésével ezt mondhatjuk A és BF vannak jelölt kulcsok az R relációhoz, mert önmagukban képesek keresni az R reláció összes attribútumának értékét A, B, F a legfontosabb attribútumok mivel C és D vannak nem elsődleges attribútumok. A fenti funkcionális függőségekben nem figyelhető meg tranzitív függőség. Ezért az R táblázat 3NF-ben van.

De egy funkcionális függőség, azaz D -> F megsérti a BCNF meghatározását, amely szerint, ha D -> F létezik, akkor D legyen a szuper kulcs ami itt nem a helyzet. Tehát megosztjuk az R viszonyt.

Az R1 és R2 táblázatok BCNF-ben vannak. Kapcsolat R1 kettő van jelölt kulcsok A és B, az R1 triviális funkcionális függősége, azaz A-> BCD és B -> ACD, tartsa fenn a BCNF-et, mivel A és B a kapcsolat szuperkulcsa. Kapcsolat R2 van D mint annak jelölt kulcs és a D -> F funkcionális függőség a BCNF esetében is érvényes, mivel D szuperkulcs.

  1. A 3NF kijelenti, hogy egyetlen nem elsődleges tulajdonságnak sem kell tranzitíven függnie a reláció jelölt kulcsától. Másrészt a BCNF kijelenti, hogy ha egy relációval létezik egy triviális funkcionális függőség - X -> Y; akkor X-nek szuper kulcsnak kell lennie.
  2. A 3NF megszerezhető a reláció függőségének feláldozása nélkül. A BCNF megszerzésekor azonban a függőség nem tartható fenn.
  3. A 3NF úgy érhető el, hogy semmilyen információt nem veszítünk el a régi tábláról, míg a BCNF megszerzése közben elveszíthetünk néhány információt a régi táblából.

Következtetés:

A BCNF sokkal korlátozóbb, mint a 3NF, ami jobban segíti a táblázat normalizálását. A 3NF relációban minimális redundáns marad, amelyet a BCNF tovább távolít el.