Ötödik normálforma
Az ötödik normál forma (5NF), más néven projekt-csatlakozás normál forma (PJ / NF) az adatbázis normalizálásának az a szintje, amelynek célja a redundancia csökkentése a sokértékű tényeket rögzítő relációs adatbázisokban, szemantikailag összefüggő több kapcsolat elkülönítésével. Azt mondják, hogy egy tábla az 5NF-ben akkor és csak akkor található, ha a táblában szereplő minden nem triviális csatlakozási függőséget a jelölt kulcsok rögzítenek.
Az R csatlakozási függőségét * {A, B,… Z} az R jelölt kulcsa akkor és csak akkor rögzíti, ha A, B,…, Z mindegyike R szuperkulcs . [1]
Az ötödik normál formát először Ronald Fagin írta le 1979-ben Normál formák és relációs adatbázis-kezelők tanulmányában. [2]
Példa
[szerkesztés]Tekintsük a következő példát:
Utazó eladó | Márka | Terméktípus |
---|---|---|
Jack Schneider | Acme | Porszívó |
Jack Schneider | Acme | Breadbox |
Mary Jones | Robusto | Metszőolló |
Mary Jones | Robusto | Porszívó |
Mary Jones | Robusto | Breadbox |
Mary Jones | Robusto | Esernyőtartó |
Louis Ferguson | Robusto | Porszívó |
Louis Ferguson | Robusto | Távcső |
Louis Ferguson | Acme | Porszívó |
Louis Ferguson | Acme | Láva lámpa |
Louis Ferguson | Nimbus | Nyakkendő állvány |
A tábla predikátuma: Terméktípus által megjelölt termékek, amelyeket a Márka oszlopban jelzett márka készítette, elérhetők az utazó értékesítőnél.
Az elsődleges kulcs mindhárom oszlop összetétele. Vegye figyelembe azt is, hogy a táblázat 4NF-ben található, mivel a táblázatban nincsenek többértékű függőségek ( 2 részes csatlakozási függőségek ): egyetlen oszlop sem (amely önmagában nem jelölt vagy szuper kulcs) meghatározó a másik két oszlop szempontjából.
Az utazó értékesítő, a márka és a terméktípus érvényes lehetséges kombinációit korlátozó szabályok hiányában a fenti három attribútum szükséges a helyzet megfelelő modellezéséhez.
Tegyük fel azonban, hogy a következő szabály érvényes: Egy utazó értékesítőnek bizonyos márkák és bizonyos terméktípusok vannak a repertoárjában. Ha a B1 és a B2 márka szerepel a repertoárjukban, és a P terméktípus szerepel a repertoárjukban, akkor (feltéve, hogy a B1 és a B2 márka egyaránt P terméktípust gyárt), az utazó eladónak a P1 termék típusát kell kínálnia, amelyet a B1 márka gyárt és azokat, amelyeket a B2 márka készített.
Ebben az esetben a táblázat három részre osztható:
Utazó eladó | Terméktípus |
---|---|
Jack Schneider | Porszívó |
Jack Schneider | Breadbox |
Mary Jones | Metszőolló |
Mary Jones | Porszívó |
Mary Jones | Breadbox |
Mary Jones | Esernyőtartó |
Louis Ferguson | Távcső |
Louis Ferguson | Porszívó |
Louis Ferguson | Láva lámpa |
Louis Ferguson | Nyakkendő állvány |
Utazó eladó | Márka |
---|---|
Jack Schneider | Acme |
Mary Jones | Robusto |
Louis Ferguson | Robusto |
Louis Ferguson | Acme |
Louis Ferguson | Nimbus |
Márka | Terméktípus |
---|---|
Acme | Porszívó |
Acme | Breadbox |
Acme | Láva lámpa |
Robusto | Metszőolló |
Robusto | Porszívó |
Robusto | Breadbox |
Robusto | Esernyőtartó |
Robusto | Távcső |
Nimbus | Nyakkendő állvány |
Ebben az esetben lehetetlen, hogy Louis Ferguson megtagadja az ACME által gyártott porszívók kínálatát (feltéve, hogy az ACME porszívókat gyárt), ha bármi mást értékesít, amelyet Acme gyártott (Láva lámpa), és bármely más márka (Robusto) által gyártott porszívókat is értékesít).
Vegye figyelembe, hogy ez a beállítás hogyan segíti a redundancia megszüntetésében. Tegyük fel, hogy Jack Schneider elkezdi árusítani a Robusto termékeit: Kenyérdobozok és porszívók. Az előző beállításban két új bejegyzést kellett hozzáadnunk minden egyes terméktípushoz (<Jack Schneider, Robusto, Breadboxes>, <Jack Schneider, Robusto, Porszívók>). Az új beállítással csak egyetlen bejegyzést kell hozzáadnunk (<Jack Schneider, Robusto>) a Márka-utazó értékesítők-ben.
Használat
[szerkesztés]Csak ritka esetekben nem felel meg egy 4NF tábla az 5NF-nek. Például, ha a lebontott táblák ciklikusak. Ezek olyan helyzetek, amikor a 4NF táblázatban az attribútumértékek érvényes kombinációit szabályozó komplex valós kényszer nincs implicit módon a táblázat felépítésében. Ha egy ilyen táblázatot nem normalizálnak 5NF-re, akkor a táblában lévő adatok logikai konzisztenciájának fenntartása részben a beillesztésekért, törlésekért és azok frissítéséért felelős alkalmazásnak kell tekinteni; és fokozott annak a kockázata, hogy a táblázat adatai következetlenné válnak. Ezzel szemben az 5NF kialakítása kizárja az ilyen ellentmondások lehetőségét.
A T tábla ötödik normál formában (5NF) vagy Project-Join Normal Form (PJNF) formában van, ha nem lehet veszteségmentesen bontani akárhány kisebb táblára. Kizárt az az eset, amikor a bontás után az összes kisebb táblának ugyanaz a kulcsa van, mint a T táblának.
Lásd még
[szerkesztés]- Attribútum-érték rendszer
Jegyzetek
[szerkesztés]- ↑ Analysis of normal forms for anchor-tables
- ↑ S. Krishna. Introduction to Data Base and Knowledge Base Systems (1991. november 23.). ISBN 9810206208 „The fifth normal form was introduced by Fagin”