Normalisierung relationaler Datenbanken einfach erklärt

Inhalt

  1. Was ist die Normalisierung von Datenschemata?
  2. 1. Normalform
  3. 2. Normalform
  4. 3. Normalform

1. Was ist die Normalisierung von Datenschemata?

Relationale Datenbanken müssen als Erstes normalisiert werden. Die Normalisierung verwendest du zur Vermeidung von Redundanzen bei der Entwicklung von Datenbankmodellen.

Mehrfache (redundante) Daten kannst du durch den Aufbau zusätzlicher Relationen, in speziellen Fällen bis zur 5. Normalform, auflösen.

Außerdem vermeidest du Anomalien, die durch Verletzung der Normalisierungsregeln entstehen. Die drei Arten sind die Löschanomalie, Einfügeanomialie und Update/Aktualisierungsanomalie.

Die folgende Tabelle ist nicht normalisiert, sie wird als Beispiel für die weitere Normalisierung in diesem Artikel eingesetzt:

Kd-NrKundeAdresseArt-NrArtikelMengeBetrag
001Markus EigenrauchJohannstr. 44, 20355 Hamburg765Funk-Tastatur249,90 Euro
001Markus EigenrauchJohannstr. 44, 20355 Hamburg381Notebook11399,90 Euro
002Sandra MertenElbstr. 24, 26131 Oldenburg381Notebook11399,90 Euro

2. 1. Normalform

Für die 1. Normalform musst du bestimmte Voraussetzungen erfüllen. So müssen die Daten in atomarer (unteilbarer) Form vorliegen. Außerdem müssen die Tabellenspalten gleichwertige Daten enthalten, dass heißt, zum Beispiel der „Betrag“ darf keine unterschiedlichen Einheiten aufweisen.

Die Daten müssen ausschließlich in Cent oder in Euro vorliegen, je nachdem auf welche Einheit man sich festlegt, in diesem Fall Euro.

Die oben aufgeführte Tabelle wird jetzt in die 1. Normalform überführt:

Kd-NrVornameNachnameStraßeHaus-NrPLZOrtArt-NrArtikel MengeBetrag
001MarkusEigenrauchJohannstr.4420355Hamburg765Funk-Tastatur249,90
001MarkusEigenrauchJohannstr.4420355Hamburg381Notebook11399,90
002SandraMertenElbstr.2426131Oldenburg381Notebook11399,90

Der Vorteil dieser Normalform ist nun, dass du im Gegensatz zur ersten Tabelle in nicht normalisierter Form, zum Beispiel nach Postleitzahl sortieren oder nach dem Artikel filtern kannst.

Da in der Tabelle verschiedene Daten, wie der Nachname Eigenrauch und die gesamte Adresse dieses Kunden oder der Artikel Notebook, mehrfach aufgeführt werden, ist die Vermeidung der Redundanz noch nicht erreicht. Das ist mit der Überführung in die 2. Normalform möglich.

Zum besseren Verständnis kannst du natürlich jederzeit nach Youtube-Anleitungen suchen, hier meine Empfehlung:

3. 2. Normalform

Möchtest du die 1. in die 2. Normalform überführen, müssen alle Voraussetzungen der 1. Normalform erfüllt sein. Vor allem aber müssen alle Nichtschlüsselattribute voll funktional vom Primärschlüssel abhängig sein (Funktionale Abhängigkeit).

Das bedeutet:

Schlüsselattribute sind Kd-Nr und Art-Nr, demnach sind Nichtschlüsselattribute Vorname, Nachname, Straße, Haus-Nr, PLZ Ort, Artikel, Menge und Betrag.

Bis auf das Attribut „Menge“, hängt jedes andere Nichtschlüsselattribut von nur einem Schlüsselattribut ab. Also der Vorname hängt eindeutig von der Kd-Nr ab, der Artikel eindeutig von der Art-Nr uns so weiter.

Das Attribut „Menge“ benötigt zur Bestimmung einen zusammengesetzten Schlüssel, auch Superschlüssel genannt.

Für die 2. Normalform musst die die obige Tabelle also in drei Relationen aufteilen. Ich nenne sie Relation „Kunden“, Relation „Artikel“ und Relation „Menge“:

Relation Kunden

Kd-NrVornameNachnameStraßeHaus-NrPLZOrt
001MarkusEigenrauchJohannstr.4420355Hamburg
002SandraMertenElbstr. 2426131Oldenburg

In dieser Relation „Kunden“ kannst du erkennen, dass alle Nichtschlüsselattribute eindeutig von der Kd-Nr abhängig sind, und dieses Attribut ist der Primärschlüssel (PK – Primary Key).

Relation Artikel

Art-NrArtikelBetrag
765Funk-Tastatur49,90
381Notebook1399,90

In der Relation „Artikel“ sind ebenfalls alle Nichtschlüsselattribute direkt bzw. eindeutig vom Primärschlüssel dieser Relation, der Art-Nr, abhängig um sie zu bestimmen.

Relation Menge

Kd-Nr (FK)Art-Nr (FK)Menge
0017652
0013811
0023811

In der Relation „Menge“ wurden die beiden Primärschlüssel der Relation „Kunden“ (PK: Kd-Nr) und der Relation „Artikel“ (PK: Art-Nr) als Fremdschlüssel (FK – Foreign Key) verwendet, um das Attribut „Menge“ bestimmen zu können.

Doppelte Daten gibt es bei der „Kd-Nr“ und der „Menge“ aber immer noch. Um diese Redundanzen zu beheben, nutzen wir die 3. Normalform.

Auch zur 2. Normalform hier die passende Video-Empfehlung:

© All rights reserved.

Supported by