Ötödik normálforma

A Wikipédiából, a szabad enciklopédiából

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ó értékesítők termékei márka szerint
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ó:

Terméktípusok utazó értékesítők által
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
Márkák - utazó értékesítők
Utazó eladó Márka
Jack Schneider Acme
Mary Jones Robusto
Louis Ferguson Robusto
Louis Ferguson Acme
Louis Ferguson Nimbus
Terméktípusok márka szerint
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]

  1. Analysis of normal forms for anchor-tables
  2. S. Krishna. Introduction to Data Base and Knowledge Base Systems (1991. március 27.). ISBN 9810206208 „The fifth normal form was introduced by Fagin”