Różnica między BCNF i 3NF

Różnica między BCNF i 3NF

BCNF vs. 3nf

Boyce Codd normalna postać (znana również jako BCNF) jest normalną formą -jest to forma, która zapewnia kryteria określania stopnia podatności na logiczne niespójności i anomalii. Ta normalna forma jest używana w normalizacji bazy danych. Jest nieco silniejszy niż jego poprzednik, trzecia normalna postać (znana również jako 3NF). Uważa się, że tabela jest w BCNF, jeśli i tylko wtedy, gdy dla każdego, jeśli jej nietrywialne zależności funkcjonalne-to jest granica ustawiona między dwoma zestawami atrybutów w relacji pobieranej z bazy danych-jest superk20 (zestaw zestawu atrybuty zmiennej relacyjnej, która postuluje, że we wszystkich relacjach przypisanych do tej specyficznej 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 przypisanych jako BNCF, jest podatna na logiczne niespójności.

3NF to normalna forma, która jest również używana w normalizacji bazy danych. Uważa się, że tabela jest w 3NF, jeśli i tylko wtedy, gdy tabela znajduje się 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 nie-prime atrybut tabeli nie jest transmitycznie zależny od każdego klucza tabeli (co oznacza, że ​​nie zależy bezpośrednio od każdego klucza). Istnieje kolejna postulacja 3NF, która jest również używana do zdefiniowania różnic między 3NF i BCNF.

Twierdzenie to zostało opracowane przez Carlo Zaniolo w 1982 roku. Stwierdza, że ​​tabela jest w 3nf, jeśli i tylko wtedy, gdy dla każdej zależności funkcjonalnej, w której x † 'a, co najmniej jeden z trzech warunków musi się zatrzymać: albo x â †' a, x jest superkeyem, albo a jest atrybutem podstawowym (co oznacza, że ​​A jest zawarte w kluczu kandydata -lub minimalna superkey dla tej relacji). Ta nowsza definicja różni się od twierdzenia BCNF tym, że ten ostatni model po prostu wyeliminowałby ostatni warunek. Nawet gdy działa nowsza wersja twierdzenia 3NF, istnieje wyprowadzenie twierdzenia Zaniolo. Stwierdza, że ​​x â † 'a jest nietrywialne. Jeśli to prawda, niech A będzie atrybutem klejem, a także niech Y będzie kluczem R. Jeśli to się utrzyma, to y â † 'x. Oznacza to, że a nie jest tranzytycznie zależne od y, jeśli i tylko wtedy, gdy x â † 'y (lub jeśli x jest superkeyem.

Streszczenie:

1. BCNF jest normalną formą, w której dla każdego z nietrywialnych zależności funkcjonalnych tabeli jest superkeyem; 3NF jest normalną postacią, w której tabela znajduje się w 2NF, a każdy atrybut nieprime jest nietransujący od każdego klucza w tabeli.