Sobes.tech
Middle

Wat is normalisatie?

sobes.tech AI

Antwoord van AI

Data normalisatie in de context van databases is het proces van het organiseren van gegevens om redundantie te verminderen en de gegevensintegriteit te verbeteren. Dit wordt bereikt door grote tabellen op te splitsen in kleinere tabellen en deze te relateren.

Hoofddoel:

  • Het elimineren van gegevensduplicatie.
  • Het verbeteren van de gegevensintegriteit (het voorkomen van anomalieën bij invoegen, bijwerken en verwijderen).
  • Het verhogen van de efficiëntie van opslag en query's (in sommige gevallen).

Het normalisatieproces is gebaseerd op de principes van normale vormen (NF). De meest voorkomende zijn:

  • Eerste normale vorm (1NF): Atomair zijn van gegevens in cellen, geen herhaalde kolomgroepen.
  • Tweede normale vorm (2NF): Is in 1NF en elke niet-sleutelattribuut hangt volledig af van de primaire sleutel.
  • Derde normale vorm (3NF): Is in 2NF en er zijn geen transitieve functionele afhankelijkheden van niet-sleutelattributen via andere niet-sleutelattributen.

Voorbeeld:

Oorspronkelijke tabel "Bestellingen_Producten":

Bestelling ID BestelDatum Product ID Productnaam Productprijs Aantal Klantnaam Klantadres
1 2023-10-27 101 Telefoon 500 1 Ivan Pétrov Pushkina Straat 10
1 2023-10-27 102 Koptelefoon 100 2 Ivan Pétrov Pushkina Straat 10
2 2023-10-27 101 Telefoon 500 1 Maria Ivanova Lermontova Straat 5

Na normalisatie (tot 3NF):

"Bestellingen" tabel:

Bestelling ID BestelDatum Klant ID
1 2023-10-27 1
2 2023-10-27 2

"Bestellingregels" tabel:

Regel ID Bestelling ID Product ID Aantal
1 1 101 1
2 1 102 2
3 2 101 1

"Producten" tabel:

Product ID Productnaam Productprijs
101 Telefoon 500
102 Koptelefoon 100

"Klanten" tabel:

Klant ID Klantnaam Klantadres
1 Ivan Pétrov Pushkina Straat 10
2 Maria Ivanova Lermontova Straat 5

Echter, overmatige normalisatie kan leiden tot een toename van het aantal joins (JOIN) bij het uitvoeren van queries, wat de prestaties kan verminderen. Daarom wordt bij het ontwerpen van databases vaak gezocht naar een balans tussen de mate van normalisatie en de prestaties. Denormalisatie is het proces waarbij opzettelijk de normale vormen worden geschonden om de prestaties te verbeteren, meestal door redundantie toe te voegen.