Naar de homepage
Homepage Artikelen Contact
Je bevindt je in : Artikelen > Software

Cursus database ontwerpen

De derde normaalvorm (3NF)

De derde normaalvorm: transitieve afhankelijkheden, een moeilijke term voor iets vrij eenvoudigs.

  • De database voldoet aan alle regels van de tweede normaalvorm.
  • Van een tabel die voldoet aan de derde normaalvorm zijn alle velden die geen primaire sleutel zijn uitsluitend afhankelijk van de primaire sleutel.

Zie de volgende klantentabel van een voetbalschoenenhandel.

klant_id voornaam t_voegsel achternaam provincie plaatsnaam postcode
23 Khalid   Boulahrouz Noord-Holland Alkmaar 1825HH
24 Zinédine   Zidane Noord-Holland Langedijk 1834DK
25 Ruud van Nistelrooy Noord-Holland Schermer 1844JJ
19 Phillip   Cocu Noord-Holland Heilo 1850WI

In bovenstaande tabel zijn niet alle gegevens uitsluitend afhankelijk van de primaire sleutel. Er zijn nog andere relaties tussen de gegevens in een record: uit de postcode is de plaatsnaam en de provincie af te leiden. Er bestaat een 'transitieve relatie' tussen deze gegevens.

Welnu, afsplitsen is zeker mogelijk en wordt in de praktijk ook weleens gedaan. Je kunt in de klantentabel voor ellke klant alleen de (eerste 4 cijfers van de) postcode opslaan en de bijhorende gegevens (provincie, plaatsnaam) in een aparte tabel stoppen. Deze aparte postcode-plaatsnaam-provincie tabel kun je kopen.

Een ander voorbeeld van de toepassing van de derde normaal is deze (veel te) eenvoudige bestellingentabel van een Nederlandse webwinkel.

bestelnummer totaalbedrag_ex _btw totaalbedrag_inc_btw
23 13,44 16,00
24 34,70 41,30
25 543,44 645,00
19 34,50 41,06

De relatie tussen het totaalbedrag exclusief BTW en het totaalbedrag inclusief BTW is duidelijk. Het bedrag inclusief BTW is altijd 19% hoger dan het bedrag exclusief BTW. De waardes van de twee prijskolommen zijn uit elkaar af te leiden. In dit geval zou je én van de twee kolommen moeten verwijderen. Het omrekenen tussen exclusief en inclusief BTW laat je over aan het programma dat van de database gebruik maakt. Kort gezegd: je hoort nooit gegevens op te slaan die af te leiden zijn uit andere gegevens in de tabel. In de praktijk wordt zeker bij kleinere applicaties de derde normaalvorm niet altijd toegepast.


  1. 1  
  2. 2  
  3. 3  
  4. 4  
  5. 5  
  6. 6  
  7. 7  
  8. 8  
  9. 9  
  10. 10  
  11. 11  
  12. 12  
  13. 13 
  14. 14  
  15. 15  
  16. 16  

Cursus database ontwerpen
  1. 1Introductie
  2. 2Databasegeschiedenis
  3. 3Voordelen en mogelijkheden van relationele databases
  4. 4Klantcontactsysteem
  5. 5Tabellen en de primaire sleutel
  6. 6Gegevens koppelen
  7. 7De één op veel relatie
  8. 8De veel op veel relatie
  9. 9De één op één relatie
  10. 10Database normaliseren
  11. 11De eerste normaalvorm (1NF)
  12. 12De tweede normaalvorm (2NF)
  13. 13De derde normaalvorm (3NF)
  14. 14Het definitieve database-ontwerp
  15. 15Nog een voorbeeld: webwinkel
  16. 16Conclusie
Schrijf voor Tekstenuitleg!
Ben jij goed in schrijven en weet je veel van een computergerelateerd onderwerp? Schrijf dan betaald artikelen voor Tekstenuitleg.net! Lees meer...

De inhoud van Tekstenuitleg is beschermd door auteursrecht en mag niet gekopieerd worden zonder schriftelijke toestemming van Tekstenuitleg.net. Lees svp de voorwaarden.