Andra normalformen

Den andra normalformen ( engelska  Second normal form ; förkortad 2NF ) är en av de möjliga normalformerna av en relation i en relationsdatabas .

Definition

En relationsvariabel är i andra normalform om och endast om den är i första normalform och varje icke-nyckelattribut är irreducerbart beroende av (varje) dess kandidatnyckel [1] .

Irreducerbarhet innebär att den potentiella nyckeln inte innehåller en mindre delmängd av attribut, från vilka även detta funktionella beroende kan härledas [1] . För ett irreducerbart funktionellt beroende används ofta det motsvarande begreppet "full funktionellt beroende" [1] .

Om kandidatnyckeln är enkel, det vill säga den består av ett enda attribut, är varje funktionellt beroende av den irreducerbart (komplett). Om kandidatnyckeln är en sammansatt nyckel, så får det enligt definitionen av den andra normalformen inte finnas några icke-nyckelattribut i relationen som beror på en del av den sammansatta kandidatnyckeln.

Exempel

Ett exempel på att konvertera en relation till andra normalform

Låt attributparet { Company Branch , Position } utgöra den primära nyckeln i följande relation:

R
Företagsfilial Jobbtitel Lön Tillgänglighet för en dator
Filial i Tomsk Rengöringsmedel 20 000 Inte
Filial i Moskva Programmerare 40 000 Det finns
Filial i Tomsk Programmerare 25 000 Det finns

Låt oss säga att lönen beror på gren och befattning, och tillgången på en dator beror bara på befattningen.

Det finns ett funktionellt beroende Position → Att ha en dator , där vänster sida (determinant) bara är en del av primärnyckeln, vilket bryter mot villkoret för den andra normala formen.

För att reducera till 2NF bör den ursprungliga relationen delas upp i två relationer:

R1
Företagsfilial Jobbtitel Lön
Filial i Tomsk Rengöringsmedel 20 000
Filial i Tomsk Programmerare 25 000
Filial i Moskva Programmerare 40 000
R2
Jobbtitel Tillgänglighet för en dator
Rengöringsmedel Inte
Programmerare Det finns

Se även

Anteckningar

  1. 1 2 3 Datum K.J., 2005 .

Litteratur

På ryska

Överförbar

På engelska