Femte normalform

**Femte normalform** (**5NF**), også kjent som **projeksjonsskjøt normalform** (engelsk: *projection–join normal form*, **PJ/NF** ), er en type databasenormalisering designet for å fjerne redundans i relasjonsdatabaser som registrerer fakta med flere verdier ved å isolere flere semantisk relaterte relasjoner. 

Det er den endelige normalformen med tanke på å fjerne redundans. En 6NF finnes også, men dens formål er ikke å fjerne redundans, og den blir derfor bare tatt i bruk av noen få datavarehus der det kan være nyttig å gjøre tabeller irreduserbare.

## Historie
Den femte normalformen ble først beskrevet i 1979 av Ronald Fagin i konferanseartikkelen *Normal forms and relational database operators*. 

## Definisjon
En tabell sies å være på 5NF hvis og bare hvis hver ikke-trivielle skjøteavhengighet i den tabellen er underforstått av kandidatnøklene.

En skjøteavhengighet *{A, B, … Z} på R impliseres av kandidatnøkkelen(e) til R hvis og bare hvis hver av A, B, …, Z er en supernøkkel for R.

## Eksempel
Anta følgende eksempel:

Tabellens predikat er: Produkter angitt av *produkttype* og laget av *merke* er tilgjengelig fra selgeren *omreisende selger*.

Primærnøkkelen er sammensetningen av alle tre kolonnene. Legg også merke til at tabellen er i 4NF siden det ikke er noen flervaluerte avhengigheter (2-delte skjøtavhengigheter ) i tabellen, altså ingen kolonne (som i seg selv ikke er en kandidatnøkkel eller en supernøkkel) er en determinant for de to andre kolonnene.

I fravær av regler som begrenser de mulige gyldige kombinasjonene av omreisende selger, merke og produkttype er tabellen med tre attributter vist ovenfor nødvendig for å modellere situasjonen riktig.

Anta imidlertid at følgende regel gjelder: *En reisende selger har visse merker og visse produkttyper i repertoaret.* *Hvis merke B1 og merke B2 er i repertoaret deres, og produkttype P er på repertoaret, så (forutsatt at merke B1 og merke B2 begge lager produkttype P), må den reisende selgeren tilby produkter av produkttype P de som er laget av merke B1 og de laget av merke B2.*

Isåfall er det mulig å dele tabellen i tre:

I dette tilfellet er det umulig for Liv Jacobsen å nekte å tilby støvsugere laget av Acme (forutsatt at Acme lager støvsugere) hvis hun selger noe annet laget av Acme (lavalampe) og hun også selger støvsugere laget av et annet merke (Robusto).

Dette oppsettet bidrar til å fjerne redundans. Anta at Trygve Dahl begynner å selge Robusto-produktene brødbokser og støvsugere. I det forrige oppsettet måtte vi legge til to nye oppføringer, én for hver produkttype (, ). Med det nye oppsettet trenger vi bare å legge til en enkelt oppføring () under "Merker per omreisende selger".

## Bruk
Bare i sjeldne situasjoner samsvarer ikke en 4NF-tabell med 5NF, som for eksempel når de dekomponerte tabellene er sykliske. Dette er situasjoner der en kompleks begrensning fra den virkelige verden som styrer de gyldige kombinasjonene av attributtverdier i 4NF-tabellen ikke er implisitt i strukturen til tabellen. Hvis en slik tabell ikke er normalisert til 5NF må byrden med å opprettholde den logiske konsistensen til dataene i tabellen delvis bæres av applikasjonen som er ansvarlig for innsetting, sletting og oppdateringer, og det er en økt risiko for at dataene i tabellen blir inkonsistente. Derimot utelukker 5NF-designet muligheten for slike inkonsekvenser.

En tabell T er på femte normalform (5NF) hvis den ikke kan ha en tapsfri dekomponering til et hvilket som helst antall mindre tabeller. Tilfellet der alle de mindre tabellene etter dekomponeringene har samme kandidatnøkkel som tabellen T er ekskludert.

## Se også
* Attributt–verdi-system

## Referanser