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

3NF vs BCNF

A normalizálás egy folyamat, amelyet a relációs adatbázisokban az adatokban levő redundációk minimalizálása érdekében hajtanak végre. Ez a folyamat elsősorban a nagy táblákat kisebb részekre osztja, kevesebb redundációval. Ezek a kisebb táblák jól meghatározott kapcsolatok révén kapcsolódnak egymáshoz. Egy jól normalizált adatbázisban az adatok bármilyen megváltoztatásához vagy módosításához csak egyetlen táblát kell módosítani. A harmadik normál formát (3NF) 1971-ben vezették be Edgar F. Codd, aki szintén a relációs modell és a normalizálás fogalmának feltalálója. A Boyce-Codd normál formát (BCNF) 1974-ben vezették be Codd és Raymond F. Boyce.

Mi az a 3NF??

A 3NF a harmadik, a relációs adatbázis normalizálásában használt normál forma. A Codd meghatározása szerint egy táblát akkor mondunk 3NF formátumban, ha csak akkor, ha a tábla a második normál formában van (2NF), és a táblázat minden olyan attribútumának, amely nem tartozik a jelölt kulcshoz, közvetlenül függnie kell a táblázat minden jelölt kulcsa. 1982-ben Carlo Zaniolo eltérően kifejezett definíciót készített a 3NF-re. A 3NF-nek megfelelő táblák általában nem tartalmaznak olyan rendellenességeket, amelyek akkor fordulnak elő, ha a táblázatba beszúrják, törlik vagy frissítik a rekordokat.

Mi a BCNF??

A BCNF (más néven 3.5NF) egy másik normál forma, amelyet a relációs adatbázis normalizálásában használnak. Olyan rendellenességek megragadására vezették be őket, amelyekkel a 3NF nem foglalkozik. Azt mondják, hogy egy táblázat BCNF-ben van, ha és csak akkor, ha az A → B alak minden, nem triviális függősége esetén A egy szuperkulcs. A BCNF normál formában nem lévő táblák bontása nem garantálja a táblák BCNF formában történő előállítását (miközben megőrzik az eredeti táblázatban lévő függőségeket).

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

Mind a 3NF, mind a BCNF normális formák, amelyeket relációs adatbázisokban használnak a táblákban található redundancia minimalizálására. Egy olyan táblázatban, amely a BCNF normál formájában van, az A → B forma minden nem triviális funkcionális függőségére az A szuperkulcs, míg a 3NF-nek megfelelő táblázatnak a 2NF-ben kell lennie, és minden nem elsődlegesnek az attribútumnak közvetlenül függnie kell a tábla minden jelölt kulcsától. A BCNF-et erősebb normál formának tekintik, mint a 3NF, és arra fejlesztették ki azokat a rendellenességeket, amelyeket a 3NF nem tudott elfogni. A BCNF űrlapnak megfelelő táblázat megszerzéséhez el kell bontani a 3NF-ben lévő táblázatot. Ez a bomlás további csatlakozási műveleteket (vagy derékszögű termékeket) eredményez a lekérdezések végrehajtásakor. Ez növeli a számítási időt. Másrészről, a BCNF-nek megfelelő táblák kevesebb redundációval rendelkeznek, mint azok a táblák, amelyek csak a 3NF-nek felelnek meg. Ezen túlmenően a legtöbb esetben olyan táblát lehet beszerezni, amely megfelel a 3NF szabványnak, anélkül, hogy akadályozná a függőség megőrzését és veszteségmentes csatlakozását. De a BCNF esetében ez nem mindig lehetséges.