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:
| 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:
| 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 |
| Sprzedawca podróżujący | Marka |
|---|---|
| Jack Schneider | Kulminacja |
| Mary Jones | Robusto |
| Louis Ferguson | Robusto |
| Louis Ferguson | Kulminacja |
| Louis Ferguson | Chmura |
| 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
- Kent, W. (1983) A Simple Guide to Five Normal Forms in Relational Database Theory , Communications of the ACM, vol. 26, s. 120–125
- Date, CJ, & Darwen, H., & Pascal, F. Podważanie baz danych
- Darwen, H .; Data, CJ; Fagin, R. (2012). „Normalna forma zapobiegania zbędnym krotkom w relacyjnych bazach danych”. Materiały z XV Międzynarodowej Konferencji Teorii Baz Danych - ICDT '12 (PDF) . s. 114–126. doi : 10.1145 / 2274576.2274589 . ISBN 9781450307918 .