Normalisierung

Definition - Was bedeutet Normalisierung?

Bei der Normalisierung werden Daten in einer Datenbank so reorganisiert, dass zwei grundlegende Anforderungen erfüllt werden:

  1. Es gibt keine Redundanz der Daten, alle Daten werden nur an einem Ort gespeichert.
  2. Datenabhängigkeiten sind logisch, alle zugehörigen Datenelemente werden zusammen gespeichert.

Die Normalisierung ist aus vielen Gründen wichtig, vor allem aber, weil Datenbanken so wenig Speicherplatz wie möglich beanspruchen können, was zu einer höheren Leistung führt.

Die Normalisierung wird auch als Datennormalisierung bezeichnet.

Technische.me erklärt die Normalisierung

Das erste Ziel bei der Datennormalisierung besteht darin, alle doppelten Daten zu erkennen und zu entfernen, indem Datenredundanzen logisch gruppiert werden. Immer wenn ein Datenelement von einem anderen abhängig ist, sollten die beiden Daten in der Nähe dieses Datensatzes gespeichert werden.

Durch die Beseitigung aller Anomalien und die Organisation unstrukturierter Daten in einer strukturierten Form verbessert die Normalisierung die Benutzerfreundlichkeit eines Datensatzes erheblich. Daten können einfacher visualisiert, Erkenntnisse effizienter extrahiert und Informationen schneller aktualisiert werden. Durch das Zusammenführen von Redundanzen wird das Risiko von Fehlern und Duplikaten verringert, wodurch die Daten noch unorganisierter werden. Darüber hinaus benötigt eine normalisierte Datenbank weniger Speicherplatz, wodurch viele Speicherplatzprobleme beseitigt und die Gesamtleistung erheblich gesteigert werden.

Die drei Hauptarten der Normalisierung sind nachstehend aufgeführt. Hinweis: "NF" bezieht sich auf "normale Form".

Erste Normalform (1NF)

Tabellen in 1NF müssen einige Regeln einhalten:

  • Jede Zelle darf nur einen einzigen (atomaren) Wert enthalten.

  • Jede Spalte in der Tabelle muss eindeutig benannt sein.

  • Alle Werte in einer Spalte müssen sich auf dieselbe Domäne beziehen.

Zweite Normalform (2NF)

Tabellen in 2NF müssen in 1NF sein und dürfen keine teilweise Abhängigkeit aufweisen (z. B. muss jedes Nicht-Prim-Attribut vom Primärschlüssel der Tabelle abhängig sein).

Dritte Normalform (3NF)

Tabellen in 3NF müssen in 2NF sein und dürfen keine transitiven funktionalen Abhängigkeiten vom Primärschlüssel aufweisen.

Die folgenden zwei NFs existieren ebenfalls, werden jedoch selten verwendet:

Boyce-Codd-Normalform (BCNF)

Eine höhere Version des 3NF, die Boyce-Codd-Normalform, wird verwendet, um die Anomalien zu beheben, die auftreten können, wenn mehr als ein Kandidatenschlüssel vorhanden ist. Der BCNF, auch als 3.5-Normalform bekannt, muss in 3NF vorliegen und in allen funktionalen Abhängigkeiten (X → Y) sollte X ein Superschlüssel sein.

Vierte Normalform (4NF)

Damit eine Tabelle in 4NF angezeigt wird, muss sie sich in BCNF befinden und darf keine mehrwertige Abhängigkeit aufweisen.

Die ersten drei NFs wurden Anfang der 1970er Jahre vom Vater des relationalen Datenmodells EF Codd abgeleitet. Fast alle heutigen relationalen Datenbank-Engines verwenden seine Regeln.

Einige relationale Datenbankmodule erfüllen nicht strikt die Kriterien für alle Normalisierungsregeln. Ein Beispiel ist die von Microsoft in der Access 2007-Datenbankanwendung eingeführte Funktion für mehrwertige Felder. In Datenbankkreisen gab es heftige Debatten darüber, ob solche Funktionen solche Anwendungen jetzt von echten relationalen Datenbankverwaltungssystemen ausschließen.