Die Normalformen der Datenbankmodellierung dienen dazu, Redundanzen zu vermeiden und die Datenintegrität zu verbessern. Die Normalisierung hilft dabei, Datenanomalien zu vermeiden, die Datenkonsistenz zu verbessern und die Effizienz bei Abfragen und Aktuallisierungen zu erhöhen.
Hier wird eine Beispielaufgabentabelle gezeigt, die in den folgenden erklärungen der drei Normalformen aufgelöst und verwendet wird.
KundenNr | Name | Adresse | BestellNr | Bestelldatum | ArtikelNr | Artikelbezeichnung | Menge | Preis | Artikelgruppe | Rabatt |
---|---|---|---|---|---|---|---|---|---|---|
1 | Klaus Huber | Berlinerstr. 1, 49377 Vechta | 23 | 06.09.2024 | 1 | Fernseher | 1 | 799 | Elektronik | 10% |
2 | Hans Meier | Goethestr. 32, 54434 Köln | 42 | 07.09.2024 | 2 3 1 |
Monitor Tastertur Fernseher |
2 1 1 |
199 39 799 |
Elektronik Peripherie Elektronik |
10% |
1 | Klaus Huber | Berlinerstr. 1, 49377 Vechta | 78 | 08.09.2024 | 4 | Maus | 1 | 19 | Tiernahrung | 10% |
3 | Jens König | Eichenweg 43, 12433 Berlin | 99 | 09.09.2024 | 5 | Hundefutter | 1 | 49 | Tiernahrung | 0% |
Elimierung von Duplikaten und Gewährleistung, dass jede Spalte nur atomare (nicht teilbare) Werte enthält. Jede Spalte sollte nur einen Wert enthalten (keine Mengen oder Listen von Werten).
KundenNr | Name | Straße | PLZ | Ort | BestellNr | Bestelldatum | ArtikelNr | Artikelbezeichnung | Menge | Preis | Artikelgruppe | Rabatt |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Klaus Huber | Berlinerstr. 1 | 49377 | Vechta | 23 | 06.09.2024 | 1 | Fernseher | 1 | 799 | Elektronik | 10% |
2 | Hans Meier | Goethestr. 32 | 54434 | Köln | 42 | 07.09.2024 | 2 | Monitor | 2 | 199 | Elektronik | 10% |
2 | Hans Meier | Goethestr. 32 | 54434 | Köln | 42 | 07.09.2024 | 3 | Tastertur | 1 | 39 | Peripherie | 10% |
2 | Hans Meier | Goethestr. 32 | 54434 | Köln | 42 | 07.09.2024 | 1 | Fernseher | 1 | 799 | Elektronik | 10% |
1 | Klaus Huber | Berlinerstr. 1 | 49377 | Vechta | 78 | 08.09.2024 | 4 | Maus | 1 | 19 | Tiernahrung | 10% |
3 | Jens König | Eichenweg 43 | 12433 | Berlin | 99 | 09.09.2024 | 5 | Hundefutter | 1 | 49 | Tiernahrung | 0% |
Eliminierung von Redundanzen, die durch funktionale Abhängigkeit von einem Teil eines zusammengesetzten Primärschlüssels entstehen. Die Tabelle muss 1NF sein, und jedes Nicht-Schlüsselattribut muss voll funktional abhängig von jedem Primärschlüssel der Tabelle sein. Das bedeutet, Nicht-Schlüsselattribute dürfen nur von dem gesamten Primärschlüssel abhängen und nicht von Teilen davon.
KundenNr | Nachname | Vorname | Straße | PLZ | Ort |
---|---|---|---|---|---|
1 | Huber | Klaus | Berlinerstr. 1 | 49377 | Vechta |
2 | Meier | Hans | Goethestr. 32 | 54434 | Köln |
3 | König | Jens | Eichenweg 43 | 12433 | Berlin |
BestellNr | KundenNr | Bestelldatum |
---|---|---|
23 | 1 | 06.09.2024 |
42 | 2 | 07.09.2024 |
78 | 1 | 08.09.2024 |
99 | 3 | 09.09.2024 |
BestellNr | ArtikelNr | Menge |
---|---|---|
23 | 1 | 1 |
42 | 2 | 2 |
42 | 3 | 1 |
42 | 1 | 1 |
78 | 4 | 1 |
99 | 5 | 1 |
ArtikelNr | Bezeichnung | Preis | Artikelgruppe | Rabatt |
---|---|---|---|---|
1 | Fernseher | 799 | Elektronik | 10% |
2 | Monitor | 199 | Elektronik | 10% |
3 | Tastertur | 39 | Peripherie | 10% |
4 | Maus | 19 | Peripherie | 10% |
5 | Hundefutter | 49 | Tiernahrung | 0% |
Beseitigung von Abhängigkeiten zwischen Nicht-Schlüsselattributen. Die Tabelle muss in 2NF sein, und alle Nicht-Schlüsselattribute müssen direkt von den Primärschlüsseln abhängen, nicht von anderen Nicht-Schlüsselattributen (keine transitiven Abhängigkeiten).
ArtikelgruppeNr | Name | Rabatt |
---|---|---|
1 | Elektronik | 10% |
2 | Peripherie | 10% |
3 | Tiernahrung | 0% |
ArtikelNr | Bezeichnung | Preis | ArtikelgruppeNr |
---|---|---|---|
1 | Fernseher | 799 | 1 |
2 | Monitor | 199 | 1 |
3 | Tastertur | 39 | 2 |
4 | Maus | 19 | 2 |
5 | Hundefutter | 9 | 3 |
- Artikel n..1 Artikelgruppe
- Bestellung 1..n Position
- Kunde 1..n Bestellung