Normal form

Den stabila versionen checkades ut den 14 augusti 2022 . Det finns overifierade ändringar i mallar eller .

Normalform  är en egenskap hos en relation i en relationsdatamodell som kännetecknar den i termer av redundans, vilket potentiellt leder till logiskt felaktiga resultat av sampling eller ändring av data. Normalform definieras som den uppsättning krav som en relation måste uppfylla.

Processen att konvertera databasrelationer till en form som överensstämmer med normala former kallas normalisering . Normalisering är avsedd att föra databasens struktur till en form som ger minimal logisk redundans, och är inte avsedd att minska eller öka prestanda eller minska eller öka den fysiska volymen av databasen [1] . Det slutliga målet med normalisering är att minska den potentiella inkonsekvensen av informationen som lagras i databasen. Som noterats av K. Date [2] är det allmänna syftet med normaliseringsprocessen följande:

Redundans elimineras vanligtvis genom att sönderfalla relationer på ett sådant sätt att endast primära fakta lagras i varje relation (det vill säga fakta som inte härrör från andra lagrade fakta).

Normaliseringens roll i relationsdatabasdesign

Även om normaliseringsidéer är mycket användbara för databasdesign, är de inte på något sätt ett universellt eller uttömmande sätt att förbättra kvaliteten på en databasdesign. Detta beror på att det finns för stor variation av möjliga fel och brister i databasstrukturen som inte kan elimineras genom normalisering. Trots dessa överväganden är teorin om normalisering en mycket värdefull prestation av relationell teori och praktik, eftersom den ger vetenskapligt rigorösa och rimliga kriterier för kvaliteten på ett databasprojekt och formella metoder för att förbättra denna kvalitet. På så sätt sticker normaliseringsteorin ut skarpt mot bakgrund av rent empiriska designansatser [3] som erbjuds i andra datamodeller . Dessutom kan det hävdas att det inom hela informationsteknologiområdet praktiskt taget inte finns några metoder för att utvärdera och förbättra designlösningar som är jämförbara med teorin om normalisering av relationsdatabaser när det gäller nivån av formell rigor.

Normalisering kritiseras ibland med motiveringen att "det bara är sunt förnuft", och varje kompetent professionell kommer "naturligtvis" att designa en helt normaliserad databas utan att behöva tillämpa beroendeteori [4] . Men som Christopher Date påpekar är normalisering just principerna för sunt förnuft som en mogen designer styrs av i sitt sinne, det vill säga normaliseringsprinciperna är formaliserat sunt förnuft . Samtidigt är det en mycket svår uppgift att identifiera och formalisera principerna för sunt förnuft, och framgång med att lösa det är en betydande prestation [4] .

Normala former

Många forskare deltog i skapandet och utvecklingen av teorin om normalisering. Emellertid föreslog E. Codd [4] de tre första normala formerna och begreppet funktionellt beroende .

Första normalformen (1NF)

En relationsvariabel är i första normalform (1NF) om och endast om , i något giltigt relationsvärde, var och en av dess tupler innehåller exakt ett värde för vart och ett av attributen.

I en relationsmodell är en relation alltid i första normalform, per definition av begreppet relation . När det gäller de olika tabellerna kanske de inte är korrekta representationer av relationer och följaktligen inte i 1NF.

Andra normalformen (2NF)

En relationsvariabel är i andra normalform om och endast om den är i första normalform och varje icke-nyckelattribut är irreducerbart (funktionellt komplett) beroende av dess kandidatnyckel. Funktionellt fullständigt beroende innebär att om kandidatnyckeln är sammansatt, så beror attributet på hela nyckeln och beror inte på dess delar.

Tredje normalformen (3NF)

En relationsvariabel är i tredje normalform om och endast om den är i andra normalform och det inte finns några transitiva funktionella beroenden av icke-nyckelattribut till nyckelattribut.

Boyce-Codd Normal Form (BCNF)

En relationsvariabel är i Boyce-Codd normalform (med andra ord i stark tredje normalform) om och endast om vart och ett av dess icke-triviala och vänster-irreducerbara funktionella beroenden har någon potentiell nyckel som sin determinant .

Fjärde normalformen (4NF)

En relationsvariabel är i fjärde normalform om den är i Boyce-Codds normalform och inte innehåller icke-triviala flervärdiga beroenden .

Femte normalformen (5NF)

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

Domain Key Normal Form (DKNF)

En relationsvariabel finns i DKNF om och endast om varje begränsning som läggs på den är en logisk konsekvens av domänbegränsningarna och nyckelbegränsningarna som läggs på relationsvariabeln.

Sjätte normalformen (6NF)

En relationsvariabel är i sjätte normalform om och endast om den uppfyller alla icke-triviala sammanfogningsberoenden. Det följer av definitionen att en variabel är i 6NF om och endast om den är irreducerbar, det vill säga den inte kan sönderdelas ytterligare utan förlust. Varje relationsvariabel som finns i 6NF finns också i 5NF.

Infört av K. Date i sin bok [2] som en generalisering av den femte normalformen för en kronologisk databas .

Anteckningar

  1. I vissa fall ökar normalisering prestandan, i andra minskar den; volymen av databasen under normalisering minskar vanligtvis.
  2. 1 2 Datum KJ Introduktion till databassystem = Introduktion till databassystem. - 8:e uppl. - M. : Williams , 2005. - 1328 sid. - ISBN 5-8459-0788-8 (ryska) 0-321-19784-4 (engelska).
  3. I form av olika tips, observationer och rekommendationer.
  4. 1 2 3 C. J. Datum . = Date on Database: Writings 2000–2006. - Apress , 2006. - 566 sid. - ISBN 978-1-59059-746-0 (engelska), 1-59059-746-X (engelska).

Se även

Länkar