Pátá normální forma - Fifth normal form
Pátá normální forma (5NF), také známý jako normální forma projektu (PJ / NF), je úroveň normalizace databáze navržen tak, aby snížil nadbytečnost v relačních databázích zaznamenávajících vícehodnotová fakta izolací sémanticky související více vztahů. A stůl se říká, že je v 5NF kdyby a jen kdyby každý netriviální připojit závislost v této tabulce vyplývá z kandidátské klíče.
Závislost spojení * {A, B, ... Z} na R je naznačena kandidátskými klíči R kdyby a jen kdyby každé z A, B, ..., Z je a superklíč pro R.[1]
Pátou normální formu poprvé popsal Ronald Fagin ve svém příspěvku z roku 1979 Normální formy a operátoři relačních databází.[2]
Příklad
Zvažte následující příklad:
Cestovní prodavač | Značka | Typ produktu |
---|---|---|
Jack Schneider | Vrchol | Vysavač |
Jack Schneider | Vrchol | Chléb |
Mary Jones | Robusto | Zahradnické nůžky |
Mary Jones | Robusto | Vysavač |
Mary Jones | Robusto | Chléb |
Mary Jones | Robusto | Stojan na deštník |
Louis Ferguson | Robusto | Vysavač |
Louis Ferguson | Robusto | Dalekohled |
Louis Ferguson | Vrchol | Vysavač |
Louis Ferguson | Vrchol | Lávová lampa |
Louis Ferguson | Nimbus | Tie Rack |
Predikát tabulky je: Výrobky typu, který označuje Typ produktu, vyrobené značkou označenou Značka, jsou k dispozici u obchodního cestujícího určeného společností Cestovní prodavač.
Primární klíč je složený ze všech tří sloupců. Všimněte si také, že tabulka je ve 4NF, protože tam nejsou žádné vícehodnotové závislosti (Závislosti dvoudílného spojení ) v tabulce: žádný sloupec (který sám o sobě není kandidátským klíčem nebo superklíčem) není určující pro další dva sloupce.
Pokud neexistují žádná pravidla omezující platné možné kombinace Traveling Salesman, Brand a Product Type, je pro správný model situace nezbytná výše uvedená tabulka se třemi atributy.
Předpokládejme však, že platí následující pravidlo: Cestovní prodejce má ve svém repertoáru určité značky a určité typy produktů. Pokud jsou v jejich repertoáru značka B1 a značka B2 a v jejich repertoáru je produkt typu P, pak (za předpokladu, že značka B1 i značka B2 vyrábějí produkt typu P), musí obchodní cestující nabídnout produkty typu P, které vyrobila značka B1 a ty od značky B2.
V takovém případě je možné tabulku rozdělit na tři:
Cestovní prodavač | Typ produktu |
---|---|
Jack Schneider | Vysavač |
Jack Schneider | Chléb |
Mary Jones | Zahradnické nůžky |
Mary Jones | Vysavač |
Mary Jones | Chléb |
Mary Jones | Stojan na deštník |
Louis Ferguson | Dalekohled |
Louis Ferguson | Vysavač |
Louis Ferguson | Lávová lampa |
Louis Ferguson | Věšák na kravaty |
Cestovní prodavač | Značka |
---|---|
Jack Schneider | Vrchol |
Mary Jones | Robusto |
Louis Ferguson | Robusto |
Louis Ferguson | Vrchol |
Louis Ferguson | Nimbus |
Značka | Typ produktu |
---|---|
Vrchol | Vysavač |
Vrchol | Chléb |
Vrchol | Lávová lampa |
Robusto | Zahradnické nůžky |
Robusto | Vysavač |
Robusto | Chléb |
Robusto | Stojan na deštník |
Robusto | Dalekohled |
Nimbus | Tie Rack |
V tomto případě je nemožné, aby Louis Ferguson odmítl nabízet vysavače od ACME (za předpokladu, že ACME vyrábí vysavače), pokud prodává cokoli jiného od Acme (Lava Lamp) a také prodává vysavače od jakékoli jiné značky (Robusto ).
Všimněte si, jak toto nastavení pomáhá odstranit nadbytečnost. Předpokládejme, že Jack Schneider začne prodávat výrobky Robusto, bochníky a vysavače. V předchozím nastavení bychom museli přidat dvě nové položky, jednu pro každý typ produktu (
Používání
Pouze ve výjimečných situacích a 4NF tabulka neodpovídá 5NF. Jedná se o situace, ve kterých komplexní omezení reálného světa, které řídí platné kombinace hodnot atributů v tabulce 4NF, není ve struktuře této tabulky implicitní. Pokud taková tabulka není normalizována na 5NF, břemeno zachování logické konzistence dat v tabulce musí být částečně neseno aplikací odpovědnou za vkládání, mazání a aktualizace; a existuje zvýšené riziko, že data v tabulce budou nekonzistentní. Naproti tomu konstrukce 5NF vylučuje možnost takových nesrovnalostí.
Tabulka T je v páté normální formě (5NF) nebo v normální formě Project-Join (PJNF), pokud nemůže mít bezztrátový rozklad na libovolný počet menších tabulek. Případ, kdy všechny menší tabulky po rozkladu mají stejný klíč kandidáta jako tabulka T, je vyloučen.
Viz také
Reference
- ^ Analýza normálních forem kotevních tabulek
- ^ S. Krishna (1991). Úvod do databází a systémů znalostí. ISBN 9810206208.
Pátou normální formu představil Fagin
Další čtení
- Kent, W. (1983) Jednoduchý průvodce pěti normálními formami v teorii relační databáze „Komunikace ACM, sv. 26, s. 120–125
- Date, C.J., & Darwen, H., & Pascal, F. Odhalení databáze
- Darwen, H .; Date, C. J .; Fagin, R. (2012). Msgstr "Normální forma prevence nadbytečných n-tic v relačních databázích". Sborník příspěvků z 15. mezinárodní konference o teorii databáze - ICDT '12 (PDF). str. 114–126. doi:10.1145/2274576.2274589. ISBN 9781450307918.