Normalisierung

Aus www.fachadmin.de
Wechseln zu: Navigation, Suche
erste Zeile 2te Spalte 3te Spalte
zweite Zeile 2te Spalte 3te Spalte

Normalisierung

Unter Normalisierung eines relationalen Datenbankschemas versteht man die schrittweise erfolgende Zerlegung von Relationen (in der Datenbank: Tabellen) in mehrere Relationen auf der Grundlage funktionaler Abhängigkeiten. Eine Normalisierung ist notwendig, um Redundanzen der Daten zu vermeiden, die einen erhöhten Speicherplatz benötigen, das Durchsuchen und Analysieren der Daten verlängern und bei der Änderung von Daten zu Inkonsistenzen führen können.

erste Normalform

Die erste NF besagt, dass jeder Wert in einer Datenbank atomar sein muss. Dies bedeutet, dass jedes Attribut maximal 
einem eindeutigem Wert zugeordnet sein darf.

Kurz: Kein Attributwertebereich kann in weitere (sinnvolle) Teilbereiche aufgespalten werden (Beispiel: Die Adresse darf nicht als Attribut verwendet werden, sondern muss sofern es das zugrunde liegende Geschäftsmodell erfordert in PLZ, Ort, Strasse, Hausnummer aufgeteilt werden).

Beispiel:

Falsch:

Mitarbeiter
ID Name Adresse
001 Merzenich, Kai 53119, Bonn
002 Atatürk, Waldemar 53119, Bonn
003 Feuerstein, Willma 23865, Köln

Lösung

Richtig:

Mitarbeiter
ID Nachname Vorname Adresse PLZ Ort
001 Merzenich Kai A_1 53119 Bonn
002 Atatürk Waldemar A_2 53119 Bonn
003 Feuerstein Willma A_3 23865 Köln


zweite Normalform

Die zweite NF ist erfüllt, wenn:

  • die erste NF erfüllt ist
  • jedes Attribut vom gesamten Primärschlüssel abhängig ist

Beispiel

Falsch:

Mitarbeiter
ID Nachname Vorname Adresse PLZ Ort
001 Merzenich Kai A_1 53119 Bonn
002 Atatürk Waldemar A_2 53119 Bonn
003 Feuerstein Willma A_3 23865 Köln

Lösung

Richtig:

ID

Nachnahme

Vorname

001

Merzenich

Kai

002

Wiechert

Alexander

003

Feuerstein

Wilma


ID

Adresse

Plz

Ort

001

A_1

53119

Bonn

002

A_2

50000

Lummerland

003

A_3

10000

Mondstadt

dritte Normalform

Die dritte NF ist erfüllt, wenn:

  • die zweite NF erfüllt ist
  • die Nicht-Schlüssel-Attribute funktional unabhängig voneinander sind
  • die Nicht-Schlüssel-Attribute nur vom Schlüsselattribut abhängig sind
(d.h. ein Attribut darf nicht über ein Nich-Schlüssel-Attribut gefunden werden)

Beispiel

Falsch:

ID

Adresse

Plz

Ort

001

A_1

53119

Bonn

002

A_2

50000

Lummerland

003

A_3

10000

Mondstadt

Hier ist das Attribut "Ort" über das Nicht-Schlüssel-Attribut "PLZ" zu finden. D.h. der Ort ist nicht voll funktional vom Attribut "Id" abhängig sondern kann ebenfalls über die "Plz" gefunden werden. Praktisch heist das, dass wenn ein weiterer Eintrag in die Tabelle erfolgt, der Ort und die Plz ein zweites mal vorhanden wäre.

Lösung

Richtig:

ID

Adresse

Plz

001

A_1

53119

002

A_2

50000

003

A_3

10000


Plz

Ort

10000

Mondstadt

50000

Lummerland

53119

Bonn