Normalisering

Nedenfor ses en unormaliseret tabel (variabel postlængde, repeterende grupper, redundante informationer).

Navn Adresse Postnr By Tlf nr Kursus1 #1 Pris1 Kursus2 #2 Pris2 Kursus3 #3 Pris3
Olsen Nyvej 10 2000 Frb 3834 5782 Word 1 1200 Excel 2 1400 Access 2 1600
Nielsen Veras Allé 14 2720 Vanløse 3879 1150 Windows 3 1300            
Bruun Algade 2 4000 Roskilde 4673 9082 WP 5.1 2 1250 Excel 2 1400      

1. Normalform

En tabel er på 1.NF, hvis den ikke indeholde gentagende grupper af felter og posterne i tabellen identificeres af en primærnøgle.

Vi får derfor følgende.

Kursistnr Ordrenr Navn Adresse Postnr By Tlf nr
1001 2001 Olsen Nyvej 10 2000 Frb 3834 5782
1002 2002 Nielsen Veras Allé 14 2720 Vanløse 3879 1150
1003 2003 Bruun Algade 2 4000 Roskilde 4673 9082

Ordrenr Kursusnr Kursusnavn Antal Pris
2001 5 Word 1 1200
2001 12 Excel 2 1400
2001 45 Access 2 1600
2002 9 Windows 3 1300
2003 7 WP 5.1 2 1250
2003 12 Excel 2 1400

2. Normalform

En tabel er på 2.NF, hvis den opfylder 1.NF og alle ikke-nøglefelter er fuldt afhængige af primærnøglen (ikke kun dele af primærnøglen).

Vi får følgende afhængighedesdiagrammer

og får derfor.

Kursistnr Navn Adresse Postnr By Tlf nr
1001 Olsen Nyvej 10 2000 Frb 3834 5782
1002 Nielsen Veras Allé 14 2720 Vanløse 3879 1150
1003 Bruun Algade 2 4000 Roskilde 4673 9082

Ordrenr Kursusnr Antal
2001 5 1
2001 12 2
2001 45 2
2002 9 3
2003 7 2
2003 12 2
     
Kursusnr Kursusnavn Pris
5 Word 1200
12 Excel 1400
45 Access 1600
9 Windows 1300
7 WP 5.1 1250
     
Ordrenr Kursistnr
2001 1001
2002 1002
2003 1003

3. Normalform

En tabel er på 3.NF, hvis den opfylder 2.NF og der ikke er indbyrdes afhængighed mellem ikke-nøglefelter.

Vi får følgende afhængighedesdiagram

og får derfor.

Kursistnr Navn Adresse Postnr Tlf nr
1001 Olsen Nyvej 10 2000 3834 5782
1002 Nielsen Veras Allé 14 2720 3879 1150
1003 Bruun Algade 2 4000 4673 9082
     
Postnr By
2000 Frb
2720 Vanløse
4000 Roskilde

Ordrenr Kursusnr Antal
2001 5 1
2001 12 2
2001 45 2
2002 9 3
2003 7 2
2003 12 2
     
Kursusnr Kursusnavn Pris
5 Word 1200
12 Excel 1400
45 Access 1600
9 Windows 1300
7 WP 5.1 1250
     
Ordrenr Kursistnr
2001 1001
2002 1002
2003 1003


Dvs. alle ikke-nøglefelter skal være afhængige af nøglen (1.NF), hele nøglen (2.NF) og ikke andet end nøglen (3.NF).