Różnica między BCNF i 3NF

BCNF vs. 3NF

Normalna postać Boyce'a Codda (znana również jako BCNF) jest normalną formą - jest to forma, która zapewnia kryteria określające stopień podatności tabeli na logiczne niespójności i anomalie. Ta normalna forma służy do normalizacji bazy danych. Jest nieco silniejszy niż jego poprzednik, trzecia normalna forma (znana również jako 3NF). Uważa się, że tabela znajduje się w BCNF wtedy i tylko wtedy, gdy dla każdego, gdy jej nietrywialne zależności funkcjonalne - to granica ustalona między dwoma zestawami atrybutów w relacji wziętej z bazy danych - jest nadkluczem (zestaw atrybuty zmiennej relacyjnej, która postuluje, że we wszystkich relacjach przypisanych do tej konkretnej zmiennej nie ma dwóch odrębnych wierszy zawierających tę samą wartość dla atrybutów w tym konkretnym zestawie). BCNF postuluje, że każda tabela, która nie spełnia kryteriów przypisania jej jako BNCF, jest podatna na logiczne niespójności.

3NF jest normalną formą, która jest również używana do normalizacji bazy danych. Uważa się, że tabela ma format 3NF wtedy i tylko wtedy, gdy 1) tabela jest w drugiej normalnej formie (lub 2NF, który jest pierwszym normalnym kodem, lub 1NF, który spełnia kryteria uzyskania statusu 2NF), i 2) każdy niepierwotny atrybut tabeli nie jest tranzytowo zależny od każdego klucza tabeli (co oznacza, że ​​nie jest bezpośrednio zależny od każdego klucza). Istnieje inna postulacja 3NF, która jest również używana do określenia różnic między 3NF a BCNF.

Twierdzenie to zostało wymyślone przez Carlo Zaniolo w 1982 r. Stwierdza ono, że tabela jest w 3NF wtedy i tylko wtedy, gdy dla każdej zależności funkcjonalnej, gdzie X â † 'A, musi spełniać co najmniej jeden z trzech warunków: albo X â †' A, X jest superkluczem lub A jest atrybutem podstawowym (co oznacza, że ​​A jest zawarty w kluczu kandydującym - lub minimalnym superkluczu dla tej relacji). Ta nowsza definicja różni się od twierdzenia BCNF tym, że ten ostatni model po prostu wyeliminowałby ostatni warunek. Nawet jeśli działa ona jako nowsza wersja twierdzenia 3NF, istnieje pochodna twierdzenia Zaniolo. Stwierdza, że ​​X † A jest nietrywialne. Jeśli to prawda, niech A będzie atrybutem klucza południowego, a także niech Y będzie kluczem R. Jeśli tak jest, to Y † X. Oznacza to, że A nie jest zależnie przejściowo od Y wtedy i tylko wtedy, gdy X â † „Y (lub jeśli X jest superkluczem.

Streszczenie:

1. BCNF jest normalną formą, w której dla każdej nietrywialnej zależności funkcjonalnej tabeli jest superklucz; 3NF jest normalną formą, w której tabela jest w 2NF, a każdy atrybut niepierwotny jest nieprzepuszczalnie zależny od każdego klucza w tabeli.