Die Grundlagen der Datenbanknormalisierung

Wenn Sie schon länger mit Datenbanken arbeiten, haben Sie wahrscheinlich schon einmal den Begriff Normalisierung gehört. Vielleicht hat Sie jemand gefragt: "Ist diese Datenbank normalisiert?" oder "Ist das in BCNF?" Normalisierung wird oft als Luxus angesehen, für den nur Akademiker Zeit haben. Es ist jedoch nicht allzu kompliziert, die Prinzipien der Normalisierung zu kennen und sie auf Ihre täglichen Aufgaben beim Datenbankdesign anzuwenden, und es könnte die Leistung Ihres DBMS drastisch verbessern.

In diesem Artikel stellen wir das Konzept der Normalisierung vor und werfen einen kurzen Blick auf die gängigsten Normalformen.

Was ist Normalisierung?

Normalisierung ist der Prozess der effizienten Organisation von Daten in einer Datenbank. Der Normalisierungsprozess hat zwei Ziele: Eliminieren redundanter Daten (z. B. Speichern derselben Daten in mehr als einer Tabelle) und Sicherstellen, dass Datenabhängigkeiten Sinn machen (nur zusammengehörige Daten in einer Tabelle speichern). Beides sind lohnende Ziele, da sie den Platzbedarf einer Datenbank reduzieren und sicherstellen, dass die Daten logisch gespeichert werden.

Die Normalformen

Die Datenbank-Community hat eine Reihe von Richtlinien entwickelt, um sicherzustellen, dass Datenbanken normalisiert werden. Diese werden als Normalformen bezeichnet und sind von eins (niedrigste Form der Normalisierung, bezeichnet als erste Normalform oder 1NF) bis fünf (fünfte Normalform oder 5NF) nummeriert. In praktischen Anwendungen werden Sie oft 1NF, 2NF und 3NF zusammen mit gelegentlich 4NF sehen. Die fünfte Normalform kommt sehr selten vor und wird in diesem Artikel nicht behandelt.

Bevor wir mit der Erörterung der Normalformen beginnen, ist es wichtig darauf hinzuweisen, dass es sich nur um Richtlinien und Richtlinien handelt. Gelegentlich wird es notwendig, von ihnen abzuweichen, um praktische Geschäftsanforderungen zu erfüllen. Bei Variationen ist es jedoch zwingend erforderlich, alle möglichen Auswirkungen zu bewerten, die sie auf Ihr System haben könnten, und mögliche Inkonsistenzen zu berücksichtigen. Das heißt, lassen Sie uns die normalen Formen untersuchen.

Erste Normalform (1NF)

Die erste Normalform (1NF) legt die grundlegenden Regeln für eine organisierte Datenbank fest:

  • Eliminieren Sie doppelte Spalten aus derselben Tabelle.
  • Erstellen Sie separate Tabellen für jede Gruppe verwandter Daten und identifizieren Sie jede Zeile mit einer eindeutigen Spalte oder einem Satz von Spalten (die Primärschlüssel).

Zweite Normalform (2NF)

Die zweite Normalform (2NF) befasst sich weiter mit dem Konzept der Entfernung doppelter Daten:

  • Erfüllen Sie alle Anforderungen der ersten Normalform.
  • Entfernen Sie Teilmengen von Daten, die für mehrere Zeilen einer Tabelle gelten, und platzieren Sie sie in separaten Tabellen.
  • Erstellen Sie Beziehungen zwischen diesen neuen Tabellen und ihren Vorgängern durch die Verwendung von fremde Schlüssel.

Dritte Normalform (3NF)

Die dritte Normalform (3NF) geht noch einen bedeutenden Schritt weiter:

  • Erfülle alle Anforderungen der zweiten Normalform.
  • Entfernen Sie Spalten, die nicht vom Primärschlüssel abhängig sind.

Boyce-Codd Normalform (BCNF oder 3.5NF)

Die Boyce-Codd-Normalform, auch als "dritte und halbe (3,5) Normalform" bezeichnet, fügt eine weitere Anforderung hinzu:

  • Erfülle alle Anforderungen der dritten Normalform.
  • Jede Determinante muss a. sein Kandidatenschlüssel.

Vierte Normalform (4NF)

Schließlich hat die vierte Normalform (4NF) eine zusätzliche Voraussetzung:

  • Erfülle alle Anforderungen der dritten Normalform.
  • Eine Relation ist in 4NF, wenn sie kein. hat mehrwertige Abhängigkeiten.

Denken Sie daran, dass diese Normalisierungsrichtlinien kumulativ sind. Damit eine Datenbank in 2NF ist, muss sie zunächst alle Kriterien einer 1NF-Datenbank erfüllen.

Soll ich normalisieren?

Die Normalisierung der Datenbank ist zwar oft eine gute Idee, aber keine absolute Voraussetzung. Es gibt einige Fälle, in denen ein bewusster Verstoß gegen die Regeln der Normalisierung eine gute Praxis ist.

Wenn Sie sicherstellen möchten, dass Ihre Datenbank normalisiert ist, lernen Sie zunächst, wie Sie Ihre Datenbank in Erste Normalform.