Andre normalform (2NF) er en normalform som brukes i databasenormalisering. En relasjon er på andre normalform hvis den oppfyller følgende to krav:
Enkelt sagt er en relasjon (eller tabell) 2NF hvis:
Dersom noen vanlige (ikke-primære) attributter er forutsigbare (avhengige) av en annen (ikke-primær) attribut, håndteres det i tredje normalform .
Andre normalform ble opprinnelig definert i 1971 av Edger Frank Codd.
En funksjonell avhengighet av en ekte delmengde til en kandidatnøkkel (UID) er et brudd på 2NF. I tillegg til primærnøkkelen kan relasjonen inneholde andre kandidatnøkler, og det er nødvendig å fastslå at ingen ikke-primære attributter (vanlige eller ikke-UID-attributter) har delnøkkel-avhengigheter (altså at de er del av noen av disse kandidatnøklene/ UID-ene). Sagt på en annen måte: Hvis noen vanlige attributter (ikke-UID-attributter) er forutsigbare fra en attributt til UID-en (eller del av UID-en) så er den ikke på 2NF.
For å gjøre en 1NF-relasjon til en 2NF-relasjon fjernes de funksjonelt avhengige attributtene i de partielle avhengighetene av den første normalform-relasjonen, og disse delvis avhengige attributtene plasseres i en relasjon hvor deres korresponderende determinante attributter utgjør en hel kandidatnøkkel.
Følgende relasjon tilfredsstiller ikke 2NF fordi:
Med andre ord, siden {Produsentland} er en ikke-primær-attributt som er funksjonelt avhengig av en ekte delmengde av en kandidatnøkkel er relasjonen i strid med 2NF.
| Produsent | Modell | Produsentland |
|---|---|---|
| Forte | X-Prime | Italia |
| Forte | Ultrarent | Italia |
| Dent-o-Fresh | EZbrush | USA |
| Brushmaster | SuperBrush | USA |
| Kobayashi | ST-60 | Japan |
| Hoch | Toothmaster | Tyskland |
| Hoch | X-Prime | Tyskland |
For å få designet til å samsvare med 2NF er det nødvendig å ha to relasjoner. For å opprette disse relasjonene kan man gjøre følgende:
Som vist nedenfor har {Produsentland} blitt fjernet fra den opprinnelige tabellen:
| Produsent | Modell |
|---|---|
| Forte | X-Prime |
| Forte | Ultraclean |
| Dent-o-Fresh | EZbrush |
| Brushmaster | SuperBrush |
| Kobayashi | ST-60 |
| Hoch | Toothmaster |
| Hoch | X-Prime |
Som vist nedenfor settes den den partielle avhengigheten inn i en ny relasjon der avhengigheten kan eksistere uten å være en partiell avhengighet:
| Produsent | Produsentland |
|---|---|
| Forte | Italia |
| Dent-o-Fresh | USA |
| Brushmaster | USA |
| Kobayashi | Japan |
| Hoch | Tyskland |