Junior
Wat is gegevensnormalisatie in een relationele database?
sobes.tech AI
Antwoord van AI
Normalisatie is het proces van het structureren van een relationele database om gegevensredundantie te verminderen en de gegevensintegriteit te verbeteren.
Belangrijkste doelen:
- Reductie van redundantie: Voorkomen van gegevensduplicatie.
- Verbetering van de integriteit: Zorgen voor consistentie van gegevens bij invoegen, verwijderen en bijwerken.
Normalisatie is gebaseerd op het concept van normale vormen (NF). De meest voorkomende:
- 1NF (Eerste normale vorm):
- Atomaire waarden in elke kolom.
- Elke kolom bevat één waarde van een bepaald type.
- 2NF (Tweede normale vorm):
- Is in 1NF.
- Elke niet-sleutelattribuut hangt volledig af van de hele primaire sleutel. (Voor tabellen met een eenvoudige sleutel, komt 2NF overeen met 1NF).
- 3NF (Derde normale vorm):
- Is in 2NF.
- Geen transitieve afhankelijkheden: een niet-sleutelattribuut mag niet afhankelijk zijn van een ander niet-sleutelattribuut.
Voorbeeld van normalisatie (overgang van een niet-genormaliseerde vorm naar 1NF):
Niet-genormaliseerde tabel:
| Bestelling_ID | Klant | Producten |
|---|---|---|
| 1 | Ivan | Melk, Brood |
| 2 | Maria | Appels, Bananen |
Tabel in 1NF:
| Bestelling_ID | Klant | Product |
|---|---|---|
| 1 | Ivan | Melk |
| 1 | Ivan | Brood |
| 2 | Maria | Appels |
| 2 | Maria | Bananen |
Hogere normale vormen (BCNF, 4NF, 5NF) bestaan en worden toegepast in meer specifieke scenario's. De keuze van het normalisatieniveau hangt af van de prestatie- en complexiteitseisen van de database. Een te hoog niveau kan het aantal joins (JOIN) verhogen en de leesprestaties verminderen.