Piąta postać normalna - Fifth normal form

Piąta postać normalna ( 5NF ), znana również jako normalna forma łączenia projektu ( PJ / NF ), to poziom normalizacji bazy danych zaprojektowany w celu zmniejszenia nadmiarowości w relacyjnych bazach danych rejestrujących wielowartościowe fakty poprzez izolowanie semantycznie powiązanych wielokrotnych relacji. Tabela mówi się w 5NF tylko wtedy, gdy każdy nietrywialne dołączyć uzależnienia w tej tabeli jest dorozumiany przez kluczy kandydujących .

Zależność sprzężenia * {A, B,… Z} na R jest implikowana przez klucz kandydujący R wtedy i tylko wtedy, gdy każdy z A, B,…, Z jest superkluczem dla R.

Piąta postać normalna została po raz pierwszy opisana przez Ronalda Fagina w jego artykule konferencyjnym z 1979 r. Formy normalne i operatorzy relacyjnych baz danych .

Przykład

Rozważmy następujący przykład:

Dostępność produktów dla komiwojażera według marki
Sprzedawca podróżujący Marka Rodzaj produktu
Jack Schneider Kulminacja Odkurzacz
Jack Schneider Kulminacja Chlebak
Mary Jones Robusto Nożyce do przycinania
Mary Jones Robusto Odkurzacz
Mary Jones Robusto Chlebak
Mary Jones Robusto Stojak na parasole
Louis Ferguson Robusto Odkurzacz
Louis Ferguson Robusto Teleskop
Louis Ferguson Kulminacja Odkurzacz
Louis Ferguson Kulminacja Lampa lawowa
Louis Ferguson Chmura Wieszak na krawaty

Predykat tabeli jest następujący: Produkty typu określonego przez Typ produktu , wykonane przez markę określoną przez Marka , są dostępne u komiwojażera wyznaczonego przez komiwojażera .

Klucz podstawowy jest połączeniem wszystkich trzech kolumn. Zwróć również uwagę, że tabela jest w 4NF, ponieważ nie ma w niej wielowartościowych zależności ( 2-częściowe zależności łączenia ): żadna kolumna (która sama nie jest kluczem kandydującym ani superkluczem) nie jest wyznacznikiem dla pozostałych dwóch kolumn.

W przypadku braku jakichkolwiek reguł ograniczających prawidłowe możliwe kombinacje komiwojażera, marki i typu produktu, powyższa tabela z trzema atrybutami jest niezbędna do prawidłowego modelowania sytuacji.

Załóżmy jednak, że obowiązuje następująca reguła: Sprzedawca objazdowy ma w swoim repertuarze określone marki i typy produktów. Jeśli marka B1 i marka B2 znajdują się w ich repertuarze, a produkt typu P jest w ich repertuarze, to (zakładając, że marka B1 i marka B2 tworzą produkt typu P), sprzedawca podróżujący musi oferować produkty typu P produkty marki B1 i te wykonane przez markę B2.

W takim przypadku można podzielić tabelę na trzy:

Rodzaje produktów przez sprzedawcę podróżującego
Sprzedawca podróżujący Rodzaj produktu
Jack Schneider Odkurzacz
Jack Schneider Chlebak
Mary Jones Nożyce do przycinania
Mary Jones Odkurzacz
Mary Jones Chlebak
Mary Jones Stojak na parasole
Louis Ferguson Teleskop
Louis Ferguson Odkurzacz
Louis Ferguson Lampa lawowa
Louis Ferguson Wieszak na krawaty
Marki przez sprzedawcę podróżującego
Sprzedawca podróżujący Marka
Jack Schneider Kulminacja
Mary Jones Robusto
Louis Ferguson Robusto
Louis Ferguson Kulminacja
Louis Ferguson Chmura
Typy produktów według marki
Marka Rodzaj produktu
Kulminacja Odkurzacz
Kulminacja Chlebak
Kulminacja Lampa lawowa
Robusto Nożyce do przycinania
Robusto Odkurzacz
Robusto Chlebak
Robusto Stojak na parasole
Robusto Teleskop
Chmura Wieszak na krawaty

W takim przypadku Louis Ferguson nie może odmówić oferowania odkurzaczy wyprodukowanych przez ACME (zakładając, że ACME produkuje odkurzacze), jeśli sprzedaje cokolwiek innego wyprodukowanego przez Acme (Lava Lamp), a także sprzedaje odkurzacze innej marki (Robusto ).

Zwróć uwagę, jak ta konfiguracja pomaga usunąć nadmiarowość. Załóżmy, że Jack Schneider zaczyna sprzedawać produkty Robusto Chlebaki i Odkurzacze. W poprzedniej konfiguracji musielibyśmy dodać dwa nowe wpisy, po jednym dla każdego typu produktu (<Jack Schneider, Robusto, Breadbox>, <Jack Schneider, Robusto, Vacuum Cleaners>). W nowej konfiguracji musimy dodać tylko jeden wpis (<Jack Schneider, Robusto>) w sekcji Brands By Traveling Salesman.

Stosowanie

Tylko w rzadkich sytuacjach tabela 4NF nie jest zgodna z 5NF. Na przykład, gdy zdekomponowane tabele są cykliczne. Są to sytuacje, w których złożone ograniczenie świata rzeczywistego rządzące prawidłowymi kombinacjami wartości atrybutów w tabeli 4NF nie jest domniemane w strukturze tej tabeli. Jeżeli taka tabela nie jest znormalizowana do 5NF, ciężar utrzymania logicznej spójności danych w tabeli musi być częściowo spoczywający na aplikacji odpowiedzialnej za wstawianie, usuwanie i aktualizowanie tej tabeli; istnieje zwiększone ryzyko, że dane w tabeli staną się niespójne. Natomiast konstrukcja 5NF wyklucza możliwość takich niespójności.

Tabela T ma piątą normalną postać (5NF) lub normalną formę połączenia projektu (PJNF), jeśli nie może mieć bezstratnej dekompozycji na dowolną liczbę mniejszych tabel. Przypadek, w którym wszystkie mniejsze tabele po dekompozycji mają ten sam klucz kandydujący, co tabela T, jest wykluczony.

Zobacz też

Bibliografia

Dalsza lektura