Was ist Normalisierung in einer Datenbank?
sobes.tech KI
Antwort von AI
Die Normalisierung von Datenbanken ist der Prozess, bei dem Daten in einer relationalen Datenbank organisiert werden, um Redundanz (Datenverdoppelung) zu verringern und die Datenintegrität zu verbessern. Dies wird erreicht, indem große Tabellen in kleinere Tabellen aufgeteilt und Beziehungen zwischen ihnen definiert werden.
Das Hauptziel der Normalisierung:
- Reduzierung der Datenredundanz: Vermeiden Sie die Wiederholung derselben Informationen an verschiedenen Stellen.
- Verbesserung der Datenintegrität: Gewährleisten Sie die Genauigkeit und Konsistenz der Daten.
- Flexibilität: Erleichtern Sie Änderungen und Erweiterungen an der Datenbankstruktur.
Die Normalisierung wird durch eine Reihe von Regeln definiert, die sogenannten Normalformen. Die drei häufigsten Normalformen sind:
-
Erste Normalform (1NF):
- Jede Spalte der Tabelle muss atomare (unteilbare) Werte enthalten.
- Es dürfen keine wiederholenden Gruppen von Spalten vorhanden sein.
- Jede Zeile muss eindeutig sein (über den Primärschlüssel).
-
Zweite Normalform (2NF):
- Die Tabelle befindet sich in 1NF.
- Alle nicht-schlüssel Attribute hängen vollständig vom gesamten Primärschlüssel ab (bei zusammengesetzten Schlüsseln). Es gibt keine partiellen Abhängigkeiten.
-
Dritte Normalform (3NF):
- Die Tabelle befindet sich in 2NF.
- Es gibt keine transitiven Abhängigkeiten. Nicht-Schlüssel-Attribute hängen nicht von anderen Nicht-Schlüssel-Attributen ab.
Es gibt auch höhere Normalformen (BCNF, 4NF, 5NF, 6NF), aber die 3NF gilt in der Regel als ausreichend für die meisten praktischen Zwecke.
Beispiel (vereinfachte):
Nicht normalisierte Tabelle für Kundenbestellungen:
| Bestell-ID | Kundenname | Kundenadresse | Produkte | Menge | Preis pro Einheit |
|---|---|---|---|---|---|
| 101 | Ivan | Moskau | Laptop | 1 | 50000 |
| 101 | Ivan | Moskau | Maus | 2 | 1000 |
| 102 | Maria | Sankt Petersburg | Tastatur | 1 | 3000 |
Nach der Normalisierung (z.B. bis zur 3NF):
Bestellungen-Tabelle:
| Bestell-ID | Kunden-ID | Bestelldatum |
|---|---|---|
| 101 | 1 | 2023-10-26 |
| 102 | 2 | 2023-10-26 |
Kunden-Tabelle:
| Kunden-ID | Kundenname | Kundenadresse |
|---|---|---|
| 1 | Ivan | Moskau |
| 2 | Maria | Sankt Petersburg |
Bestelldetails-Tabelle:
| Detail-ID | Bestell-ID | Produkt-ID | Menge | Preis pro Einheit |
|---|---|---|---|---|
| 1 | 101 | 10 | 1 | 50000 |
| 2 | 101 | 20 | 2 | 1000 |
| 3 | 102 | 30 | 1 | 3000 |
Produkte-Tabelle:
| Produkt-ID | Produktname |
|---|---|
| 10 | Laptop |
| 20 | Maus |
| 30 | Tastatur |
Die Denormalisierung ist der umgekehrte Prozess der Normalisierung, der manchmal verwendet wird, um die Lesegeschwindigkeit der Daten auf Kosten einer erhöhten Redundanz zu optimieren.