BCNF i 3NF

Anonim

BCNF vs. 3NF

Normalna forma Boyce'a Codda (znana również jako BCNF) jest normalną formą, która jest formą określającą stopień podatności stołu na logiczne niespójności i anomalie. Ta normalna forma jest używana w normalizacji baz 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, jeśli jej nietrywialne zależności funkcjonalne - czyli granica ustawiona między dwoma zestawami atrybutów w relacji wziętej z bazy danych - to superkey (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 danym zbiorze). BCNF postuluje, że każda tabela, która nie spełnia kryteriów, które należy przypisać jako BNCF, jest podatna na logiczne niespójności.

3NF jest normalną formą używaną również w normalizacji baz danych. Uważa się, że tabela jest w 3NF wtedy i tylko wtedy, gdy 1) tabela jest w drugiej normalnej formie (lub 2NF, która jest pierwszym normalnym kodem, lub 1NF, który spełnił kryteria, aby stać się 2NF) i 2) każdy inny niż podstawowy atrybut tabeli jest nieprzechodnie zależny od każdego klucza tabeli (co oznacza, że ​​nie jest bezpośrednio zależny od każdego klucza). Istnieje kolejna postulacja 3NF, która jest również używana do definiowania różnic między 3NF a BCNF.

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

Streszczenie:

1. BCNF jest normalną formą, w której dla każdej z nietrywialnych zależności funkcjonalnych tabeli jest superkey; 3NF jest normalną formą, w której tabela jest w 2NF, a każdy atrybut inny niż prime jest nieprzechodnie zależny od każdego klucza w tabeli.