Normalisierung von Datenbanken

Aus Operations-Research-Wiki
Wechseln zu: Navigation, Suche

Unter Normalisierung versteht man die schrittweise Zerlegung von Relationen, um Redundanzen innerhalb des Datenschemas zu beheben.

Ziele der Normalisierung

Mit einer Normalisierung werden folgende Ziele verfolgt:

  • Integritätssicherung,
  • Redundanzfreie Speicherung,
  • Generierung von "lesbaren" Relationen.

Schrittweise wird das relationale Datenschema in die 1., 2., 3. usw. Normalform überführt. Damit ein relationales Datenschema in einer bestimmten Normalform vorliegt, hat es die Kriterien der jeweiligen Normalform zu erfüllen.

1. Normalform

Die 1. Normalform wird folgendermaßen definiert:

Eine Relation befindet sich in der ersten Normalform (1.NF), wenn alle Attributwerte atomar sind, d.h. dass alle Attribute maximal einen Wert haben.

2. Normalform

Die 2. Normalform wird folgendermaßen definiert:

Eine Relation befindet sich in der zweiten Normalform (2.NF), wenn sie sich in 1.NF befindet und jedes Attribut vom gesamten Primärschlüssel (und nicht nur von Teilen des Primärschlüssels) voll funktional abhängig ist. Man spricht von voll funktionaler Abhängigkeit, wenn der Wert eines einzigen Attributs eindeutig die Werte der anderen Attribute bestimmt. Relationen in 1.NF sind automatisch in 2.NF, wenn ihr Primärschlüssel nicht zusammengesetzt ist.

3. Normalform

Die 3. Normalform wird folgendermaßen definiert:

Ein Relationenschema befindet sich in der dritten Normalform (3.NF), wenn es sich in 2.NF befindet und zudem keine transitiven Abhängigkeiten aufweist. Unter transitiver Abhängigkeit versteht man die funktionale Abhängigkeit eines Nicht-Schlüsselattributes einer Relation R von einem anderen Nicht-Schlüsselattribut in R.

Vor- und Nachteile der Normalisierung

Um die Normalisierung zu beurteilen, muss man folgender Vor- und Nachteile abwägen:

Vorteile
  • Redundanzfreie Speicherung, d.h. jedes Faktum ist nur einmal in der Datenbank gespeichert.
  • Sicherung der Integrität. Integrität bedeutet, dass keine sich widersprechenden Fakten in der Datenbank gespeichert sind.
Nachteile
  • Z.T. hoher Normalisierungsaufwand
  • Schlechteres Laufzeitverhalten bei der Zusammenfügung (Join)mehrerer Relationen.

Fazit: Beim Datenbankentwurf sollten somit immer die Kosten und der Nutzen der Normalisierung abgewogen werden. Eine Normalisierung bis 3.NF (oder weniger) ist in der Regel ausreichend. Es gibt jedoch noch weitere Normalformen, auf die hier aber nicht weiter eingegangen wird.