Was ist Normalisierung?
sobes.tech KI
Antwort von AI
Die Datenormalisierung im Kontext von Datenbanken ist der Prozess, Daten zu organisieren, um Redundanz zu verringern und die Datenintegrität zu verbessern. Dies wird erreicht, indem große Tabellen in kleinere Tabellen aufgeteilt und ihre Beziehungen hergestellt werden.
Hauptziel:
- Eliminierung von Datenredundanz.
- Verbesserung der Datenintegrität (Vermeidung von Einfüge-, Aktualisierungs- und Löschanomalien).
- Steigerung der Effizienz bei Speicherung und Abfragen (in einigen Fällen).
Der Normalisierungsprozess basiert auf den Prinzipien der Normalformen (NF). Die gebräuchlichsten sind:
- Erste Normalform (1NF): Atomare Daten in Zellen, keine wiederholenden Gruppen von Spalten.
- Zweite Normalform (2NF): Sie ist in 1NF und jedes Nicht-Schlüssel-Attribut hängt vollständig von dem Primärschlüssel ab.
- Dritte Normalform (3NF): Sie ist in 2NF und es gibt keine transitiven funktionalen Abhängigkeiten von Nicht-Schlüssel-Attributen vom Primärschlüssel über andere Nicht-Schlüssel-Attribute.
Beispiel:
Originaltabelle "Bestellungen_Produkte":
| Bestell-ID | Bestelldatum | Produkt-ID | Produktname | Produktpreis | Menge | Kundenname | Kundenadresse |
|---|---|---|---|---|---|---|---|
| 1 | 2023-10-27 | 101 | Telefon | 500 | 1 | Ivan Pétrov | Puschkina Str. 10 |
| 1 | 2023-10-27 | 102 | Kopfhörer | 100 | 2 | Ivan Pétrov | Puschkina Str. 10 |
| 2 | 2023-10-27 | 101 | Telefon | 500 | 1 | Maria Ivanova | Lermontova Str. 5 |
Nach Normalisierung (bis 3NF):
Tabelle "Bestellungen":
| Bestell-ID | Bestelldatum | Kunden-ID |
|---|---|---|
| 1 | 2023-10-27 | 1 |
| 2 | 2023-10-27 | 2 |
Tabelle "Bestellpositionen":
| Positions-ID | Bestell-ID | Produkt-ID | Menge |
|---|---|---|---|
| 1 | 1 | 101 | 1 |
| 2 | 1 | 102 | 2 |
| 3 | 2 | 101 | 1 |
Tabelle "Produkte":
| Produkt-ID | Produktname | Produktpreis |
|---|---|---|
| 101 | Telefon | 500 |
| 102 | Kopfhörer | 100 |
Tabelle "Kunden":
| Kunden-ID | Kundenname | Kundenadresse |
|---|---|---|
| 1 | Ivan Pétrov | Puschkina Str. 10 |
| 2 | Maria Ivanova | Lermontova Str. 5 |
Allerdings kann eine zu starke Normalisierung zu einer Zunahme der Joins (JOIN) bei Abfragen führen, was die Leistung beeinträchtigen kann. Daher wird bei der Gestaltung von Datenbanken oft ein Gleichgewicht zwischen Normalisierungsgrad und Leistung gesucht. Denormalisierung ist der Prozess, bei dem absichtlich die Normalformen verletzt werden, um die Leistung zu verbessern, meist durch Hinzufügen von Redundanz.