Um mögliche Fehler bei der Arbeit mit den gespeicherten Daten zu vermeiden, wird die Struktur von Tabellen und Datenbanken anhand
objektiver Kriterien bewertet und verbessert. Dazu unterscheidet man zwischen verschiedenen Normalformen. Durch die Normalisierung wird die
Struktur einer Datenbank optimiert, in dem sie in eine bestimmte Normalform gebracht wird. Die Normalform einer Datenbank ist ein Maß für
die Struktur einer Datenbank. Sie gibt Hinweise dazu, wie redundant Daten in einer Datenbank gespeichert sind. Daten enthalten
Redundanz, wenn man Teile von ihnen weglassen kann, ohne dass es zu einem Informationsverlust kommen würde. Falls Daten in
einer Datenbank redundant abgelegt sind, ist das Risiko von Inkonsistenzen hoch. Daher sollte bei der Erstellung der Struktur der
Datenbanktabellen auf möglichst geringe Redundanz geachtet werden. Je höher die Normalform, desto weniger redundant liegen die Daten
vor. Zur Bestimmung einer Normalform wird die Struktur von Attributen einer Relation und deren Abhängigkeiten untereinander betrachtet.
Die untenstehende Abbildung zeigt die Abhängigkeiten der im Folgenden näher erläuterten Normalformen. Darüber hinaus gibt
es mit der Boyce-Codd-Normalform und der 4. Normalform weitere Stufen oberhalb der 3. Normalform. Für die meisten praktischen Projekte
reicht jedoch die 3. Normalform aus, häufig wird schon diese aus Effizienzgründen nicht erreicht.

Je nach Anforderungen an den Datenbestand wird ein Datenschema durch Normalisierung in die erforderliche Normalform gebracht. Anhand des in der untenstehenden Tabelle gegebenen Beispiels werden im Folgenden die 1., 2. und 3. Normalform von Tabellen erläutert. Das Beispiel gibt an, welcher Lieferant welchen Kunden mit welchem Artikel beliefert hat. Dazu gibt es drei Spalten in der Tabelle, die je Informationen zu Lieferant, Kunden und Artikel enthalten.
| Artikellieferung | ||
| Lieferant | Kunde | Artikel |
| MediaService, Hattstadt | Sophie Weber, 182932 | Edge Of Tomorrow; EAN 838883 |
| MovieGroup, Hamburg | Sophie Weber, 182932 | Cry Baby; EAN 1222233 |
| MovieGroup, Hamburg | Ralf Fischer, 488389 | In the Morning; ISBU XX-NHN-223 |
| FilmService, Berlin | Maria Bolz, 299376 | Edge Of Tomorrow; EAN 838883 |
Folgende Bedingungen müssen erfüllt sein, damit eine Tabelle in der 1. Normalform vorliegt:
In obiger Tabelle werden diese Kriterien nicht erfüllt, da es sich bei allen Attributen um zusammengesetzte Werte handelt. Der Normalisierungsschritt für die erste Normalform teilt alle vorkommenden zusammengesetzten Werte, Wertaufzählungen oder geschachtelten Werte auf und legt neue Spalten für die Teilelemente an. Des Weiteren werden Schlüsselattribute identifiziert, mit denen sich Datensätze in der Tabelle eindeutig bezeichnen und voneinander unterscheiden lassen. Weiterhin wurde noch kein Primärschlüssel festgelegt. Die folgende Tabelle zeigt die in die 1. Normalform transformierte Beispieltabelle. Hier wurden die zusammengesetzten Attribute Lieferant, Kunde und Artikel in ihre einzelnen Bestandteile zerlegt und jeweils als separates Attribut definiert. Darüber hinaus wurde ein zusammengesetzter Primärschlüssel bestimmt, nämlich die Attribute KundeNummer und ArtikelID. In der untenstehenden Tabelle und allen folgenden Tabellen sind als Primärschlüssel verwendete Attribute dunkel hinterlegt.
| Normalform, mit zusammengesetztem Primärschlüssel | ||||||
|---|---|---|---|---|---|---|
| Artikellieferung | ||||||
| LieferantName | LieferantSitz | KundeName | KundeVorname | KundeNummer | ArtikelName | ArtikelID |
| MediaService | Hattstadt | Weber | Sophie | 182932 | Edge of Tomorrow | EAN 838883 |
| MovieGroup | Hamburg | Weber | Sophie | 182932 | Cry Baby | EAN 1222233 |
| MovieGroup | Hamburg | Fischer | Ralf | 488389 | In the Morning | ISBU XX-NHN-223 |
| FilmService | Berlin | Bolz | Maria | 299376 | Edge of Tomorrow | EAN 838883 |
In der folgenden Tabelle wird eine mögliche Alternative dargestellt, bei der als Primärschlüssel ein künstlicher Schlüssel gewählt wurde. Dazu wurde die Tabelle um die Spalte ArtikellieferungID erweitert.
| Normalform, mit transformierter Tabelle samt einfachem Primärschlüssel | |||||||
|---|---|---|---|---|---|---|---|
| Artikellieferung | |||||||
| ArtikellieferungID | LieferantName | LieferantSitz | KundeName | KundeVorname | KundeNummer | ArtikelName | ArtikelID |
| L01 | MediaService | Hattstadt | Weber | Sophie | 182932 | Edge of Tomorrow | EAN 838883 |
| L02 | MovieGroup | Hamburg | Weber | Sophie | 182932 | Cry Baby | EAN 1222233 |
| L03 | MovieGroup | Hamburg | Fischer | Ralf | 488389 | In the Morning | ISBU XX-NHN-223 |
| L04 | FilmService | Berlin | Bolz | Maria | 299376 | Edge of Tomorrow | EAN 838883 |
Mit Erreichen der ersten Normalform wird es möglich, nach bestimmten Attributen zu sortieren und Datensätze eindeutig zu referenzieren und zu verändern.
Die zweite Normalform ist nur für Tabellen mit zusammengesetzten Primärschlüsseln relevant. Folgende Kriterien müssen zusätzlich zu allen Kriterien der 1. Normalform erfüllt sein:
Besteht der Primärschlüssel aus mindestens zwei Attributen, so müssen alle anderen Attribute der Relation immer vom gesamten Schlüssel abhängig sein. Es reicht nicht aus, wenn ein Attribut nur von einem Teil eines Schlüssel abhängig ist. In der vorletzen Tabelle, die in der 1. Normalform vorliegt, sind allerdings die in folgender Abbildung illustrierten Abhängigkeiten erkennbar:
| Hinweis |
| Die Analyse der Abhängigkeiten erfordert Fachwissen. Nur auf Grundlage des dokumentierten Datenschemas ist eine Normalisierung in der Regel nicht möglich. |
In den folgenden drei Tabellen sind die Ergebnisse einer in die 2. Normalform transformierten Tabelle abgebildet. Die Abhängigkeiten zu Teilen des Primärschlüssels wurden dadurch aufgelöst, dass zwei neue Tabellen Kunde und Artikel erstellt wurden.
| Artikellieferung, 2. Normalform | |||
|---|---|---|---|
| Artikellieferung | |||
| LieferantName | LieferantSitz | KundeNummer | ArtikelID |
| MediaService | Hattstadt | 182932 | EAN 838883 |
| MovieGroup | Hamburg | 182932 | EAN 1222233 |
| MovieGroup | Hamburg | 488389 | ISBU XX-NHN-223 |
| FilmService | Berlin | 299376 | EAN 838883 |
| Kunde, 2. Normalform | ||
|---|---|---|
| Kunde | ||
| KundeName | KundeVorname | KundeNummer |
| Weber | Sophie | 182932 |
| Fischer | Ralf | 488389 |
| Bolz | Maria | 299376 |
| Artikel, 2. Normalform | |
|---|---|
| Artikel | |
| ArtikelName | ArtikelID |
| Edge of Tomorrow | EAN 838883 |
| Cry Baby | EAN 1222233 |
| In the Morning | ISBU XX-NHN-223 |
Für obige Tabelle als aternativer Vorschlag zur ersten Normalform gibt es keine 2. Normalform, da für diese Tabelle ein einfacher (künstlicher) Primärschlüssel gewählt wurde.
Durch die Normalisierung in die 2. Normalform wird erreicht, dass jede Relation bzw. Tabelle genau einen Sachverhalt abbildet. Es wird Redundanz beseitigt, indem gleiche Informationen, wie Artikel oder Kunde, in eigenen Tabellen zusammengefasst und in anderen Tabellen referenziert werden. So werden im Beispiel KundeName und ArtikelName nun genau 1x gespeichert und nicht mehrfach, wie es noch in der 1. Normalform der Fall war.
Eine Tabelle liegt in der 3. Normalform vor, wenn die Kriterien der 1. Normalform bzw. bei Tabellen mit zusammengesetztem Primärschlüssel die Kriterien der 2. Normalform erfüllt sind. Darüber hinaus muss folgendes gelten:
Mit der 2. Normalform sind die verbliebenen Nichtschlüsselattribute einer Tabelle zwar thematisch miteinander verbunden. Es muss allerdings untersucht werden, ob es nicht Abhängigkeiten zwischen den Attributen gibt, die man in eine eigene Tabelle auslagern sollte.
Die folgende Abbildung stellt die Ahängigkeiten zwischen den Attributen LieferantName und LieferantSitz aus der obigen Tabelle
"Artikellieferung, 2. Normalform" dar. Diese beiden Attribute haben Abhängigkeiten, die nicht in Bezug zu einem Teil des
Primärschlüssels stehen. Daher müssen diese Abhängigkeiten erst aufgelöst werden, damit die 3. Normalform
erreicht werden kann.

Die 3. Normalform der ursprünglichen Beispieltabelle ist in der folgenden Abbildung dargestellt. Es wurden insgesamt 4 Tabellen
erstellt.

Die 3. Normalform der ursprünglichen Tabelle mit einem neu eingeführten einfachen Primärschlüssel zeigt die
nachstehende Abbildung. Auch hier wurden für die 3. Normalform insgesamt 4 Tabellen erstellt.

In der dritten Normalform sind alle transitiven Abhängigkeiten von Daten sofort ersichtlich, da sie direkt durch die Struktur der Tabellen abgebildet sind.