Dieses Konzeptdokument enthält eine kurzes Beschreibung der Datennormalisierung, das diese bei der Entwicklung des Datenmodells angewendet wird. Dieser Abschnitt ist keine vollständige
Behandlung des Themas Normalisierung, da das Thema weit gefasst ist und bereits in vielen Texten über Datenbankdesign
dokumentiert wurde. In [NBG01] ist
Normalisierung wie folgt definiert: "Ein Analyseverfahren, das zum Erstellen eines korrekten relationalen
Datenbankdesigns eingesetzt wird". In der Praxis ist Normalisierung ein Verfahren, um Redundanzen im Datenmodell durch
Anwenden restriktiver Regeln zu minimieren. Die Minimierung von Datenredundanz in den Tabellen des Datenmodells trägt
zur referenziellen Integrität der Daten in der Datenbank bei.
Normalisierung wird normalerweise auf ein Datenmodell angewendet, nachdem eine erste Version der Tabellen und ihrer
Beziehungen im Modell entwickelt wurde. Zu welchem Zeitpunkt genau die Normalisierung angewendet wird, richtet sich
nach der spezifischen Projektsituation und obliegt der Entscheidung des Datenbankdesigners. Der Normalisierungsprozess wird auf die Tabellen
im Datenbankmodell in einer Reihe von Schritten angewendet, wobei jeder Schritt jeweils strengere Regeln anwendet als
der vorherige.
Normalisierungsstufen
Normalisierung ist hierarchisch in numerische Formen eingeordnet. Die gebräuchlichsten sind die erste, zweite und
dritte Normalform. Die Restriktionen nehmen mit jeder Normalisierungsstufe zu. Die ersten drei hierarchischen
Normalisierungsstufen sind im Folgenden beschrieben:
-
Erste Normalform - Sich wiederholende Gruppen von Datenspalten in Tabellen wurden entfernt, so dass die
Daten in atomaren Einheiten aufgebaut sind.
-
Zweite Normalform - Die Daten sind in der ersten Normalform, und Redundanzen in Primärschlüsselfeldern
wurden entfernt, so dass die Spaltenwerte vollständig vom Primärschlüsselfeld abhängig sind.
-
Dritte Normalform - Die Daten sind in der zweiten Normalform, und keine der Spalten ist von anderen
Nicht-Schlüsselspalten abhängig.
Es gibt zwar noch weitere Normalisierungsstufen, aber diese werden hier nicht behandelt. Informationen zu weiteren
Normalisierungsstufen finden Sie in [DAT99]. Welche
Normalisierungsstufe genau auf das Datenmodell angewendet wird, ist eine Entscheidung, die der Datenbankdesigner
basierend auf den spezifischen Details der Projektsituation treffen muss.
|