Femte normalformen

Femte normalformen (5NF)  är en av de möjliga normalformerna av en relationsdatabasrelation .

Definition

För att definiera den femte normalformen måste man först introducera begreppet sambandsberoende , som i sin tur bygger på begreppet förlustfri nedbrytning .

Förlustfri nedbrytning

Nedbrytning [1] av relation R är ersättningen av R med en uppsättning relationer { R 1 , R 2 ,... , Rn } så att var och en av dem är en projektion av R , och varje attribut av R ingår i minst en av nedbrytningsprojektionerna.

Till exempel, för en relation R med attribut { a , b , c }, finns det följande huvuduppdelningsalternativ :

Betrakta nu relationen R' , som är resultatet av operationen NATURAL JOIN tillämpad på de relationer som erhålls som ett resultat av nedbrytningen av R.

En sönderdelning kallas en förlustfri sönderdelning om R' är exakt samma som R .

Informellt sett, med förlustfri nedbrytning, "delas" relationen upp i projektionsrelationer på ett sådant sätt att de resulterande projektionerna kan användas för att "sammansätta" den ursprungliga relationen med den naturliga sammanfogningsoperationen.

Inte varje nedbrytning är en förlustfri nedbrytning. Låt oss illustrera detta med relationen R med attributen { a , b , c } som ges ovan. Låt relationen R ha formen:

R
a b c
Moskva Ryssland huvudstad
Tomsk Ryssland inte huvudstaden
Berlin Tyskland huvudstad

Nedbrytning R 1 = { a }, R 2 = { b , c } har formen:

R1 _
a
Moskva
Tomsk
Berlin
R2 _
b c
Ryssland huvudstad
Ryssland inte huvudstaden
Tyskland huvudstad

Resultatet av anslutningsoperationen av dessa relationer:

R ' = R1 NATURLIG JOIN R2
a b c
Moskva Ryssland huvudstad
Moskva Ryssland inte huvudstaden
Moskva Tyskland huvudstad
Tomsk Ryssland huvudstad
Tomsk Ryssland inte huvudstaden
Tomsk Tyskland huvudstad
Berlin Ryssland huvudstad
Berlin Ryssland inte huvudstaden
Berlin Tyskland huvudstad

Det är uppenbart att R' inte sammanfaller med R , vilket betyder att en sådan sönderdelning inte är en förlustfri sönderdelning. Betrakta nu nedbrytningen R 1 = { a , b }, R 2 = { a , c }:

R1 _
a b
Moskva Ryssland
Tomsk Ryssland
Berlin Tyskland
R2 _
a c
Moskva huvudstad
Tomsk inte huvudstaden
Berlin huvudstad

En sådan sönderdelning är en förlustfri sönderdelning, vilket läsaren själv kan se.

I vissa fall kan en relation inte brytas upp utan förlust alls. Det finns också exempel på relationer som inte går att förlustfritt sönderdela i två projektioner, men som förlustfritt kan dekomponeras i tre eller flera projektioner [2] .

Anslutningsberoende

Låt R  vara en relationsvariabel och A , B , …, Z  vara några delmängder av uppsättningen av dess attribut.

Om nedbrytningen av något giltigt värde R till relationer bestående av attributuppsättningar A , B , ..., Z , är en förlustfri nedbrytning, sägs relationsvariabeln R tillfredsställa sammanfogningsberoendet *{A, B, . . . , Z} [3] .

Med andra ord, relationsvariabeln R uppfyller kopplingsberoendet *{A, B, . . . , Z} om och endast om något tillåtet värde för relationsvariabeln R är ekvivalent med unionen av dess projektioner över delmängderna A , B , …, Z i attributmängden.

Precis som ett funktionellt beroende är ett specialfall av ett flervärdigt beroende , är ett flervärdigt beroende ett specialfall av ett sammanfogningsberoende . Ett sammanfogningsberoende är en extrem generalisering av begreppen multivärdigt och funktionellt beroende, det vill säga det är den mest generella formen av beroende mellan relationsattribut.

Det är viktigt att förstå att ett sammanfogningsberoende inte definieras för ett specifikt värde av relationsvariabeln vid en given tidpunkt, utan för alla möjliga värden. Därför är begreppet anslutningsberoende inte definierat för en relation (ett särskilt värde), utan för en relationsvariabel . Föreningsberoende bestäms inte mekaniskt från de aktuella värdena, utan följer av extern kunskap om arten och mönster av de data som kan finnas i relationsvariabeln. Detsamma gäller flervärdiga och funktionella beroenden.

Ett sammanfogningsberoende *{A, B,…, Z} är trivialt om och endast om minst en av delmängderna A , B , …, Z är mängden av alla relationsattribut (inkluderar alla attribut). Annars är anslutningsberoendet icke-trivialt .

Uttalande av definitionen

En relation är i femte normalform (med andra ord i projektiv-konnektiv normalform) om och endast om varje icke-trivialt sambandsberoende i det bestäms av potentialnyckeln (erna) för denna relation [2] .

Ett sammanfogningsberoende *{A, B,…, Z} definieras av en kandidatnyckel (er) om och endast om var och en av attributuppsättningarnas delmängder A , B , …, Z är en supernyckel av relationen [2] .

Villkoret "var och en av delmängderna A, B, ..., Z i attributmängden är en supernyckel av relationen" kan formuleras på samma sätt som följer: "var och en av delmängderna A , B , ..., Z av attributuppsättningen innehåller någon potentiell nyckel för relationen".

Egenskaper för 5NF

Varje relation i 5NF är automatiskt också i 4NF och därför i alla andra normala former. 5NF är den slutliga normala formen (åtminstone i samband med projektion och sammanfogning).

Ronald Feigin 1979 visade att vilken relationsvariabel som helst kan dekomponeras utan förlust till en ekvivalent uppsättning relationsvariabler i 5NF, det vill säga 5NF är alltid uppnåeligt. Christopher Date noterar dockatt proceduren för att bestämma att någon relationsvariabel finns i 4NF och inte i 5NF, och att det således finns en möjlighet till dess ytterligare fördelaktiga nedbrytning, fortfarande inte är helt klar. Detta beror på att uppgiften att bestämma alla anslutningsberoenden för en relation kan vara mycket svår, och en relation kan bara sägas vara i 5NF om alla dess kandidatnycklar och alla dess kopplingsberoenden är kända.

Det är mycket sällsynt att en relation som finns i 4NF inte motsvarar 5NF. Detta är situationer där de faktiska reglerna som begränsar de tillåtna kombinationerna av attribut inte uttrycks på något sätt i relationens struktur (se exemplet nedan). I ett sådant fall, om relationen inte reduceras till 5NF, flyttas bördan av att säkerställa den logiska integriteten hos datan delvis till den applikation som ansvarar för att lägga till, ta bort och ändra data. I detta fall finns risk för fel. Den femte normala formen utesluter förekomsten av sådana anomalier.

Exempel

Anta att vi behöver lagra data om sortimentet av flera säljare som säljer produkter från flera företag (företagens produktsortiment kan överlappa varandra):

Sortiment (säljare, företag, varor)
Försäljare Fast Produkt
Ivanov Horn och hovar Dammsugare
Ivanov Horn och hovar brödlåda
Petrov Bezenchuk & Co Lopper
Petrov Bezenchuk & Co Dammsugare
Petrov Bezenchuk & Co brödlåda
Petrov Bezenchuk & Co Paraply
Sidorov Bezenchuk & Co Dammsugare
Sidorov Bezenchuk & Co Teleskop
Sidorov Horn och hovar Dammsugare
Sidorov Horn och hovar Lampa
Sidorov Herkules Galge

Om det inte finns några ytterligare villkor är detta förhållande, som är i den fjärde normala formen, korrekt och återspeglar alla nödvändiga begränsningar.

Anta nu att vi måste ta hänsyn till följande begränsning: varje säljare har en begränsad lista över företag och en begränsad lista över typer av varor i sitt sortiment och erbjuder varor från listan över varor som produceras av företag från listan över företag .

Det vill säga att säljaren inte har rätt att handla med varor från något företag. Om säljare P har rätt att handla med varor från företag F , och om säljare P har rätt att handla med varor av typ T , omfattar säljare P :s sortiment varor av typ T från företag F , förutsatt att företag F producerar varor av typ T.

En sådan begränsning kan till exempel orsakas av att säljarens förteckning över varuslag begränsas av de licenser han har, eller av de kunskaper och kvalifikationer som krävs för försäljningen av dem, och förteckningen över varje säljares företag. bestäms av partnerskapsavtal.

Särskilt i det aktuella exemplet antas det att säljaren Ivanov endast har rätt att handla med varor från företaget Roga och Kopyta, säljaren Petrov endast med varor från företaget Bezenchuk & Co, men säljaren Sidorov har inte rätt att handla med brödkärl och skärmaskiner m.m.

Den ovan föreslagna relationen kan inte utesluta situationer där denna begränsning överträds. Det finns inget som hindrar att ange uppgifter om handel med varor som detta företag inte producerar alls, eller uppgifter om handel med varor från ett företag som denna säljare inte betjänar, eller uppgifter om handel med en typ av produkt som denna säljare inte har rätt att sälja.

Relationen finns inte i 5NF, eftersom den har ett icke-trivialt anslutningsberoende *{{Säljare, Företag}, {Företag, Produkt}, {Säljare, Produkt}}, men delmängderna {Säljare, Företag}, {Företag, Produkt }, {Säljare , Produkt} är inte supernycklar för den ursprungliga relationen.

I det här fallet, för att minska till 5NF, bör relationen delas upp i tre: {Säljare, Företag}, {Företag, Produkt}, {Säljare, Produkt}.

Säljarnas varor
Försäljare Produkt
Ivanov Dammsugare
Ivanov brödlåda
Petrov Lopper
Petrov Dammsugare
Petrov brödlåda
Petrov Paraply
Sidorov Teleskop
Sidorov Dammsugare
Sidorov Lampa
Sidorov Galge
Säljande företag
Försäljare Fast
Ivanov Horn och hovar
Petrov Bezenchuk & Co
Sidorov Bezenchuk & Co
Sidorov Horn och hovar
Sidorov Herkules
Företagets produkter
Fast Produkt
Horn och hovar Dammsugare
Horn och hovar brödlåda
Horn och hovar Lampa
Bezenchuk & Co Lopper
Bezenchuk & Co Dammsugare
Bezenchuk & Co brödlåda
Bezenchuk & Co Paraply
Bezenchuk & Co Teleskop
Herkules Galge

Se även

Anteckningar

  1. Strängt taget bör termen "projektiv nedbrytning" eller "projektionsbaserad nedbrytning" användas, eftersom uppdelningen av den ursprungliga relationen utförs genom projektionsoperationen. Teoretiskt finns det andra varianter av sönderdelning, till exempel baserade på reduktions(selektions)operationen, men de är exotiska, vilket gör att sönderdelning, om inte annat specifikt anges, förstås som projektionsnedbrytning.
  2. 1 2 3 Datum K. J. Introduktion till databassystem. - 8:e uppl. - M .: "Williams", 2005
  3. Läs "asterisk A, B, ..., Z"

Litteratur