Was bedeutet Normalisierung?
Normalisierung ist der Prozess der Reorganisation von Daten in einer Datenbank, so dass sie zwei grundlegende Anforderungen erfüllen:
- Es gibt keine Datenredundanz, alle Daten werden nur an einem Ort gespeichert.
- Die Datenabh?ngigkeiten sind logisch, alle zusammengeh?rigen Daten werden gemeinsam gespeichert.
Die Normalisierung ist aus vielen Gründen wichtig, vor allem aber, weil sie es Datenbanken erm?glicht, so wenig Speicherplatz wie m?glich zu beanspruchen, was zu einer h?heren Leistung führt.
Die Normalisierung wird auch als Datennormalisierung bezeichnet.
Techopedia erkl?rt die Normalisierung
Das erste Ziel bei der Datennormalisierung besteht darin, alle doppelten Daten zu erkennen und zu entfernen, indem redundante Daten logisch gruppiert werden. Wenn ein Teil der Daten von einem anderen abh?ngt, sollten die beiden in diesem Datensatz zusammen gespeichert werden.
Durch die Beseitigung aller Anomalien und die Organisation von unstrukturierten Daten in einer strukturierten Form verbessert die Normalisierung die Nutzbarkeit eines Datensatzes erheblich. Die Daten lassen sich leichter visualisieren, Erkenntnisse k?nnen effizienter gewonnen und Informationen schneller aktualisiert werden. Da Redundanzen zusammengeführt werden, verringert sich das Risiko von Fehlern und Duplikaten, die die Daten noch unübersichtlicher machen. Darüber hinaus ben?tigt eine normalisierte Datenbank weniger Speicherplatz, wodurch viele Probleme mit dem Festplattenspeicher beseitigt werden und die Gesamtleistung erheblich gesteigert wird.
Die drei Haupttypen der Normalisierung sind im Folgenden aufgeführt. Hinweis: “NF” steht für “Normalform”.
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 einen eindeutigen Namen haben.
- Alle Werte in einer Spalte müssen sich auf denselben Bereich beziehen.
Zweite Normalform (2NF)
Tabellen in 2NF müssen in 1NF sein und dürfen keine partielle Abh?ngigkeit aufweisen (z. B. muss jedes Nicht-Prim?rattribut vom Prim?rschlüssel der Tabelle abh?ngig sein).
Dritte Normalform (3NF)
Tabellen in 3NF müssen in 2NF sein und haben keine transitiven funktionalen Abh?ngigkeiten zum Prim?rschlüssel.
Die folgenden beiden NFs existieren ebenfalls, werden aber selten verwendet:
Boyce-Codd-Normalform (BCNF)
Eine h?here Version der 3NF, die Boyce-Codd-Normalform, wird verwendet, um die Anomalien zu beseitigen, die sich ergeben k?nnen, wenn mehr als ein Kandidatenschlüssel existiert. Die BCNF, die auch als 3.5-Normalform bekannt ist, muss in 3NF sein und in allen funktionalen Abh?ngigkeiten (X → Y) sollte X ein Superschlüssel sein.
Vierte Normalform (4NF)
Damit eine Tabelle in 4NF ist, muss sie in BCNF sein und darf keine mehrwertigen Abh?ngigkeiten haben.
Die ersten drei NFs wurden in den frühen 1970er Jahren vom Vater des relationalen Datenmodells, E.F. Codd, abgeleitet. Fast alle heutigen relationalen Datenbankmaschinen verwenden seine Regeln.
Einige relationale Datenbank-Engines erfüllen nicht unbedingt die Kriterien für alle Normalisierungsregeln. Ein Beispiel ist die von Microsoft in der Datenbankanwendung Access 2007 eingeführte Funktion der mehrwertigen Felder. In Datenbankkreisen wurde heftig darüber diskutiert, ob solche Funktionen solche Anwendungen nun als echte relationale Datenbankmanagementsysteme disqualifizieren.