Home

normalisatievormen

Normalisatievormen zijn richtlijnen in het relationeel databasedesign die gericht zijn op het minimaliseren van dubbele gegevens en de kans op anomalieën bij insertie, update en verwijdering. Door gegevens op te splitsen in tabellen met duidelijke functionele afhankelijkheden, worden redundantie en inconsistentie beperkt en wordt onderhoud vergemakkelijkt.

1NF vereist dat waarden atomair zijn en rijen uniek worden geïdentificeerd door een primaire sleutel; kolommen

3NF gaat nog een stap verder door transitieve afhankelijkheden te elimineren: niet-sleutelattributen mogen niet afhankelijk zijn

4NF behandelt multi-value afhankelijkheden: een tafel mag geen situatie bevatten waarin twee of meer sets van

In de praktijk worden meestal tot 3NF of BCNF toegepast; hogere niveaus komen minder vaak voor omdat

bevatten
enkel
waarden
van
één
type
en
herhaalde
groepen
worden
voorkomen.
2NF
bouwt
hierop
voort
door
te
eisen
dat
alle
niet-sleutelattributen
volledig
afhankelijk
zijn
van
de
primaire
sleutel;
deeltalafhankelijkheden
in
samengestelde
sleutels
worden
verwijderd.
van
andere
niet-sleutelattributen;
elk
niet-sleutelattribuut
moet
rechtstreeks
afhankelijk
zijn
van
een
sleutel.
BCNF
is
een
strengere
versie
waarbij
elke
determinant
in
de
tabel
een
kandidaat-sleutel
moet
zijn.
attributen
onafhankelijk
van
elkaar
voorkomen
terwijl
ze
samen
aan
de
sleutel
hangen.
5NF,
of
join-dependency
normalisatie,
gaat
nog
verder
en
vereist
dat
de
data
opgesplitst
kan
worden
in
factoren
zodat
alle
mogelijke
joins
zonder
verlies
van
informatie
kunnen
worden
herbouwd.
ze
de
complexiteit
vergroten.
Soms
wordt
denormalisatie
toegepast
om
prestatie
te
verbeteren
of
om
specifieke
querypatronen
te
ondersteunen.
De
keuze
voor
een
normaalvorm
hangt
af
van
vereisten
rond
consistentie,
queries
en
workload.