Ötödik normál forma

Az ötödik normálforma (5NF) a relációs adatbázis -reláció  egyik lehetséges normál formája .

Definíció

Az ötödik normálforma meghatározásához először be kell vezetni a kapcsolatfüggés fogalmát , amely viszont a veszteségmentes dekompozíció fogalmán alapul .

Veszteségmentes dekompozíció

Az R reláció [1] dekompozíciója az R helyettesítése { R 1 , R 2 ,… , R n } relációk halmazával úgy, hogy mindegyik R vetülete , és R minden attribútuma legalább a dekompozíciós vetületek egyike.

Például egy { a , b , c } attribútumú R relációhoz a következő lebontási lehetőségek állnak rendelkezésre:

Tekintsük most az R' relációt, amely az R dekompozíciója eredményeként kapott relációkra alkalmazott NATURAL JOIN művelet eredménye .

A dekompozíciót veszteségmentes dekompozíciónak nevezzük , ha R' pontosan megegyezik R -vel .

Informálisan szólva, veszteségmentes dekompozícióval a relációt vetületi relációkra „bontjuk” oly módon, hogy a kapott vetületek segítségével a természetes összekapcsolási művelettel „összeállíthassuk” az eredeti relációt.

Nem minden dekompozíció veszteségmentes lebontás. Illusztráljuk ezt a fent megadott { a , b , c } attribútumú R relációval. Legyen az R reláció alakja:

R
a b c
Moszkva Oroszország főváros
Tomszk Oroszország nem a főváros
Berlin Németország főváros

Az R 1 = { a }, R 2 = { b , c } bontás alakja:

R1_ _
a
Moszkva
Tomszk
Berlin
R2_ _
b c
Oroszország főváros
Oroszország nem a főváros
Németország főváros

Ezen relációk kapcsolódási műveletének eredménye:

R ' = R1 TERMÉSZETES CSATLAKOZÁS R2
a b c
Moszkva Oroszország főváros
Moszkva Oroszország nem a főváros
Moszkva Németország főváros
Tomszk Oroszország főváros
Tomszk Oroszország nem a főváros
Tomszk Németország főváros
Berlin Oroszország főváros
Berlin Oroszország nem a főváros
Berlin Németország főváros

Nyilvánvaló, hogy R' nem esik egybe R -vel , ami azt jelenti, hogy egy ilyen felbontás nem veszteségmentes lebontás. Tekintsük most az R 1 = { a , b }, R 2 = { a , c } dekompozíciót:

R1_ _
a b
Moszkva Oroszország
Tomszk Oroszország
Berlin Németország
R2_ _
a c
Moszkva főváros
Tomszk nem a főváros
Berlin főváros

Az ilyen dekompozíció veszteségmentes bontás, amint azt az olvasó maga is láthatja.

Egyes esetekben egy reláció egyáltalán nem bontható fel veszteség nélkül. Vannak példák olyan összefüggésekre is, amelyek nem bonthatók fel veszteségmentesen két vetületre, de amelyek veszteségmentesen bonthatók három vagy több vetületre [2] .

Kapcsolatfüggőség

Legyen R  egy relációs változó, és A , B , …, Z  az attribútumok halmazának néhány részhalmaza.

Ha bármely érvényes R érték felbontása A , B , ..., Z attribútumkészletekből álló relációkra veszteségmentes dekompozíció, akkor az R relációs változó kielégíti a *{A, B, összekapcsolási függőséget. . . , Z} [3] .

Más szavakkal, az R relációs változó kielégíti a *{A, B, kapcsolási függőséget. . . , Z} akkor és csak akkor, ha az R relációs változó bármely megengedhető értéke ekvivalens az attribútumkészlet A , B , …, Z részhalmazaira vonatkozó vetületeinek uniójával .

Ahogy a funkcionális függőség a többértékű függőség speciális esete , a többértékű függőség az összekapcsolási függőség speciális esete . Az összekapcsolási függőség a többértékű és a funkcionális függőség fogalmának szélsőséges általánosítása, vagyis a relációs attribútumok közötti függőség legáltalánosabb formája.

Fontos megérteni, hogy az összekapcsolási függőség nem a relációs változó egy adott értékére van meghatározva egy adott időpontban, hanem az összes lehetséges értékre. Ezért a kapcsolatfüggőség fogalma nem egy relációra (egy adott értékre) van definiálva, hanem egy relációs változóra . A kapcsolódási függőséget nem mechanikusan határozzuk meg az aktuális értékekből, hanem a relációs változóban esetlegesen előforduló adatok természetének és mintázatainak külső ismeretéből következik. Ugyanez vonatkozik a többértékű és funkcionális függőségekre is.

Egy *{A, B,…, Z} összekapcsolási függőség akkor és csak akkor triviális , ha az A , B , …, Z részhalmazok legalább egyike az összes relációs attribútum halmaza (az összes attribútumot tartalmazza). Ellenkező esetben a kapcsolatfüggőség nem triviális .

A meghatározás nyilatkozata

Egy reláció akkor és csak akkor van ötödik normálformában (más szóval projektív-konnektív normálformában), ha minden benne lévő nem triviális kapcsolatfüggést ennek a relációnak a potenciálkulcsa (i) határozzák meg [2] .

A *{A, B,…, Z} összekapcsolási függőséget akkor és csak akkor határozzuk meg egy kulcsjelölt kulcs (ok), ha az A , B , …, Z attribútumkészlet részhalmazok mindegyike a [2] reláció szuperkulcsa .

Az "az attribútumkészlet A , B , ..., Z részhalmazainak mindegyike a reláció szuperkulcsa" feltételt ekvivalensen a következőképpen lehet megfogalmazni: "az A , B , ..., Z részhalmazok mindegyike Az attribútumkészlet tartalmazza a reláció néhány lehetséges kulcsát ".

Az 5NF tulajdonságai

Bármilyen reláció az 5NF-ben automatikusan a 4NF-ben is, tehát minden más normál formában is. Az 5NF a végső normál forma (legalábbis a vetítési és összekapcsolási műveletek kontextusában).

Ronald Feigin 1979-ben kimutatta, hogy bármely relációs változó veszteség nélkül felbontható az 5NF-ben ekvivalens relációs változók halmazára, vagyis az 5NF mindig elérhető. Christopher Date azonbanmegjegyzi, hogy még mindig nem teljesen világos az eljárás annak meghatározására, hogy valamilyen relációs változó a 4NF-ben van-e, és nem az 5NF-ben, és így lehetőség van további előnyös lebontására. Ennek az az oka, hogy egy reláció összes összekapcsolási függőségének meghatározása nagyon nehéz lehet, és egy relációról csak akkor mondható el, hogy az 5NF-ben van, ha az összes jelölt kulcsa és az összes csatlakozási függősége ismert.

Nagyon ritka, hogy egy reláció, amely a 4NF-ben van, nem felel meg az 5NF-nek. Ezek olyan helyzetek, amikor a tényleges szabályok, amelyek korlátozzák az attribútumok megengedett kombinációit, semmilyen módon nem fejeződnek ki a reláció szerkezetében (lásd az alábbi példát). Ebben az esetben, ha a kapcsolat nem redukálódik 5NF-re, az adatok logikai integritásának biztosításának terhe részben az adatfelvételért, törlésért, módosításért felelős alkalmazásra hárul. Ebben az esetben fennáll a hibák veszélye. Az ötödik normál forma kizárja az ilyen rendellenességek előfordulását.

Példa

Tegyük fel, hogy több, több cég termékeit értékesítő eladó választékáról kell adatokat tárolnunk (a cégek termékpalettája átfedheti egymást):

Választék (eladók, cégek, áruk)
Eladó Cég Termék
Ivanov Szarvak és paták Porszívó
Ivanov Szarvak és paták kenyérdoboz
Petrov Bezenchuk&Co Lopper
Petrov Bezenchuk&Co Porszívó
Petrov Bezenchuk&Co kenyérdoboz
Petrov Bezenchuk&Co Esernyő
Sidorov Bezenchuk&Co Porszívó
Sidorov Bezenchuk&Co Távcső
Sidorov Szarvak és paták Porszívó
Sidorov Szarvak és paták Lámpa
Sidorov Herkules Akasztó

Ha nincsenek további feltételek, akkor ez az összefüggés, amely a 4. normálformában van, helyes, és tükrözi az összes szükséges korlátozást.

Most tegyük fel, hogy figyelembe kell vennünk a következő megkötést: minden eladónak van egy korlátozott listája a cégekről és egy korlátozott listája az áruk típusainak a választékában, és a cégek által előállított áruk listájáról kínál árukat a cégek listájáról .

Ez azt jelenti, hogy az eladónak nincs joga semmilyen cég termékeivel kereskedni. Ha P eladónak joga van az F cég áruival kereskedni , és ha P eladónak joga van a T típusú árukkal kereskedni , akkor P eladó választéka tartalmazza az F cég T típusú áruit , feltéve, hogy F cég árut gyárt . T típusú .

Ilyen korlátozást okozhat például az a tény, hogy az eladó árutípusainak listáját korlátozzák az általa birtokolt engedélyek, vagy az értékesítéshez szükséges ismeretek és képesítések, valamint az egyes eladók cégjegyzéke. társasági szerződések határozzák meg.

A vizsgált példában különösen azt feltételezzük, hogy Ivanov eladónak csak a Roga és Kopyta cég áruival, az eladó Petrovnak csak a Bezenchuk & Co cég áruival, az eladónak pedig Sidorovnak van joga kereskedni. nem jogosult kenyeres edényekkel , foszlókkal stb. kereskedni.

A fent javasolt összefüggés nem zárhatja ki azokat a helyzeteket, amelyekben ez a korlát megsérül. Semmi sem akadályozza meg az olyan áruk kereskedelmére vonatkozó adatok megadását, amelyeket ez a cég egyáltalán nem gyárt, vagy olyan cég áruinak kereskedelmére vonatkozó adatokat, amelyeket ez az eladó nem szolgál ki, vagy olyan termék kereskedelmére vonatkozó adatokat, amelyeket ez az eladó nem gyárt. joguk van eladni.

A reláció nem az 5NF-ben van, mivel van egy nem triviális kapcsolatfüggősége *{{Értékesítő, Vállalat}, {Vállalat, Termék}, {Eladó, Termék}}, hanem az {értékesítő, vállalat}, {vállalat, termék} részhalmazai }, {Salesperson , Product} nem az eredeti reláció szuperkulcsai.

Ebben az esetben, hogy 5NF-re csökkentsük, a relációt három részre kell osztani: {Eladó, Vállalat}, {Vállalat, Termék}, {Eladó, Termék}.

Eladók árui
Eladó Termék
Ivanov Porszívó
Ivanov kenyérdoboz
Petrov Lopper
Petrov Porszívó
Petrov kenyérdoboz
Petrov Esernyő
Sidorov Távcső
Sidorov Porszívó
Sidorov Lámpa
Sidorov Akasztó
Értékesítő cégek
Eladó Cég
Ivanov Szarvak és paták
Petrov Bezenchuk&Co
Sidorov Bezenchuk&Co
Sidorov Szarvak és paták
Sidorov Herkules
Vállalati termékek
Cég Termék
Szarvak és paták Porszívó
Szarvak és paták kenyérdoboz
Szarvak és paták Lámpa
Bezenchuk&Co Lopper
Bezenchuk&Co Porszívó
Bezenchuk&Co kenyérdoboz
Bezenchuk&Co Esernyő
Bezenchuk&Co Távcső
Herkules Akasztó

Lásd még

Jegyzetek

  1. Szigorúan véve a "projektív dekompozíció" vagy a "vetítés alapú dekompozíció" kifejezést kell használni, mivel az eredeti reláció felosztása a vetítési műveleten keresztül történik. Elméletileg léteznek más, például a redukciós (szelekciós) műveleten alapuló dekompozíciós változatok is, ezek azonban egzotikusak, aminek következtében a dekompozíción, hacsak külön nem jelezzük, vetületi bontást kell érteni.
  2. 1 2 3 Dátum K. J. Bevezetés az adatbázis-rendszerekbe. - 8. kiadás - M .: "Williams", 2005
  3. Olvassa el az "A, B, ..., Z csillagot"

Irodalom