Normaliseren is het groeperen van gegevenselementen in gegevensgroepen met als doel het eenduidig definiëren en vastleggen van gegevens, waardoor problemen met gegevens vermeden worden. Het concept is van E.F.Codd.
Er zijn 5 normaalvormen, Normal Form, afgekort NF: 1-NF, 2-NF, 3-NF, 4-NF, 5NF.
Elke database zou minimaal moeten voldoen aan de 3e normaalvorm, 3NF, ook wel Boyce-Codd-normaalvorm (BCNF) genoemd.
Als de gegevens in de 5e normaalvorm zijn, dan wordt ieder gegevenselement in een entiteit geïdentificeerd door een unieke sleutel.
Normalisatie stappen:
Stappen om tot de 5e normaalvorm te komen, gegeven een bepaalde set gegevenselementen.
Startsituatie 0-NF: de gegevens zijn ongestructureerd en in de praktijk onbruikbaar.
1. Verwijder herhalende groepen
Plaats gegevenselementen (attributen) die meerdere waarden kunnen hebben in een aparte groep (entiteit)
Bepaal van elke groep (entiteit) de primaire sleutel
1-NF: herhalende groepen zijn verwijderd
2. Verwijder gegevenselementen die niet afhankelijk zijn van de hele sleutel
Plaats gegevenselementen die niet van de volledige sleutel afhankelijk zijn in een aparte groep
Bepaal de sleutel van die nieuwe groep
2-NF: elk niet-sleutel-attribuut is afhankelijk van de volledige sleutel
3. Verwijder gegevenselementen die transitief, via een ander gegevenselement, afhankelijk zijn van de sleutel
Verwijder transitief-afhankelijke gegevenselementen
Plaats deze in een nieuwe groep en bepaal de sleutel
3-NF: elk gegevenselement is niet afhankelijk van een ander niet-sleutel-gegevenselement
(er zijn geen gegevens dubbel (redundant) opgeslagen)
4. Verwijder meervoudig functionele afhankelijkheden
Verwijder gegevenselementen die meervoudig kunnen voorkomen, of kunnen ontbreken
Plaats deze in een nieuwe groep en bepaal de sleutel
4-NF: het gegevensmodel bevat geen meervoudig functionele afhankelijkheden meer
5. Verwijder elke afhankelijkheid en geef die een eigen sleutel
Verwijder niet-sleutel-gegevenselementen die onderling afhankelijk zijn
Plaats deze in elk in een aparte nieuwe groep, bepaal de sleutel van elke groep en de onderlinge afhankelijkheid
5-NF: bevat geen gegevenselementen die onderling afhankelijk zijn
Meer info en voorbeelden op Wikipedia Normaliseren