Wieso Normalisierung?
- Normalisierung ist somit eine weitere Möglichkeit, eine relationale Datenbanken zu erstellen. ABER: ein exakter Modellentwurf (ERM/RM) macht eine Normalisierung eigentlich überflüssig. Normalisierung kann vor allem dann eingesetzt werden, um Anomalien zu beseitigen oder Redundanzen zu minimieren.
- Mit Hilfe der Normalisierung überprüfen Datenbankadministratoren den Tabellenentwurf hinsichtlich einer Anzahl bestimmter Regeln, die, wenn sie eingehalten werden, bewirken, dass eine relationale Datenbank möglichst effektiv funktioniert.
Ziele der Normalisierung?
- Vermeidung von unerwünschten Anomalien (Fehlern) beim Einfügen, Löschen sowie Ändern von Datensätzen (Einfüge-, Lösch- und Änderungsanomalien)
- Vermeidung von überflüssigen und doppelten oder mehrfach vorkommenden Informationen (Redundanz) und trotzdem sind alle Informationen aus den Tabellen abrufbar
- bessere Übersichtlichkeit für Benutzer und Programmierer
1. Normalform – Normalisierung Regel 1
- Eine Relation befindet sich in der 1. Normalform, wenn alle Attribute nur einfache Attributwerte aufweisen, d.h. dass diese Attribute sich nicht weiter zerlegen lassen oder nicht mehrere Werte beinhalten (Bezeichnung: atomar).
- Beispiel: Der Name darf nicht als einzelnes Attribut verwendet werden, sondern muss – sofern es der zugrundeliegende Prozess erfordert und erlaubt – in Titel, Vorname und Nachname aufgeteilt werden.
- Abfragen der Datenbank werden durch die 1. Normalform erleichtert bzw. überhaupt erst ermöglicht, wenn die Attributwertebereiche atomar sind. So ist es beispielsweise im Attribut Namen, das einen ganzen Namen aus Titel, Vorname und Nachname enthält, schwierig bis unmöglich, nach Nachnamen zu sortieren.
Beispiel für eine nicht normalisierte Tabelle/Relation Schüler
SchülerNr | Name | Geschlecht | Stufe | Klasse | AG |
1 | Max Müller | m | 8 | 8a | Chor, Roboter |
2 | Genoveva Glas | w | 7 | 7b | Roboter |
3 | Tim Thaler | m | 8 | 8b | Roboter,Chor, Schülerzeitung |
4 | Achim Alt | m | 7 | 7a | Chor |
5 | Marie Maier | w | 7 | 7c | Chor, Schülerzeitung |
Nach Anwendung der 1. Normalform ergibt sich folgende Tabelle/Relation Schüler in der 1. Normalform
SchülerNr | Name | Vorname | Geschlecht | Stufe | Klasse | AG |
1 | Müller | Max | m | 8 | 8a | Chor |
1 | Müller | Max | m | 8 | 8a | Roboter |
2 | Glas | Genoveva | w | 7 | 7b | Roboter |
3 | Thaler | Tim | m | 8 | 8b | Roboter |
3 | Thaler | Tim | m | 8 | 8b | Chor |
3 | Thaler | Tim | m | 8 | 8b | Schülerzeitung |
4 | Alt | Achim | m | 7 | 7a | Chor |
5 | Maier | Marie | w | 7 | 7c | Chor |
5 | Maier | Marie | w | 7 | 7c | Schülerzeitung |
Durch die Anwendung der 1. Normalform ergeben sich folgende Probleme:
Die Redundanz nimmt zunächst zu. Der bisherige Primärschlüssel SchülerNr. verliert seine Eindeutigkeit, da es nun mehrere Datensätze mit derselben SchülerNr. geben kann. Folglich muss ein neuer Primärschlüssel gefunden (im obigen Beispiel SchülerNr und AG) werden.
ABER: Die Daten werden mehrfach, also redundant gespeichert. Es besteht die Gefahr von Inkonsistenzen.
Um dieses Problem zu beseitigen muss die 2. Regel der Normalisierung angewendet werden.