Kursinhalt
Relationale Datenbank und Normalisierung
Relationale Datenbank und Normalisierung
Erste Normalform
Unnormalisierte Form
Normale Formen legen Richtlinien zur Verfeinerung des Designs und der Struktur einer Datenbank fest. Eine Datenbank, die diese Richtlinien nicht einhält, wird als unnormalisierte Datenbank bezeichnet. Solche Datenbanken können unter Redundanz, Inkonsistenz und anderen Datenproblemen leiden.
Hinweis
Eine unnormalisierte Form beschreibt eine Datenbank, die keines der Kriterien der Normalformen erfüllt.
Betrachten Sie dieses Beispiel:
Angenommen, Sie haben eine Customer Tabelle mit den Spalten Customer und Phone Number. Es ist ein bisschen unordentlich. Zeit zu normalisieren!
Erste Normalform
Die Regeln der ersten Normalform umfassen:
-
Jede Tabelle sollte einen einzigartigen Primärschlüssel besitzen – die kleinste Menge von Spalten, die einen Datensatz eindeutig identifiziert. (Typischerweise wird hierfür eine ID verwendet).
-
Jedes Attribut sollte nur einen einzelnen Wert enthalten, nicht mehrere;
Im unnormalisierten Beispiel fehlen den Customer und Phone Number Entitäten eindeutige Schlüssel, was bei identischen Kundennamen zu Verwirrung führen kann. Zudem enthält das Attribut Phone Number mehrere Werte.
Um die Datenbank in die erste Normalform zu überführen:
Großartig! Jetzt haben wir es in zwei Tabellen aufgeteilt! Wir haben eine neue Tabelle namens "Phone Numbers" eingeführt und eine Beziehung namens "Customer ID" darin integriert.
Zudem fordert die Erste Normalform, dass jede Tabelle einen eindeutigen key haben muss (bekannt als primary key). Es gibt primary keys namens Customer ID in der Customer-Tabelle und unterschiedliche Telefonnummern in der Phone Numbers-Tabelle.
Hinweis
Die Spalte Customer ID in der Phone Numbers-Tabelle sollte als foreign key gekennzeichnet werden.
Um auf Phone Numbers aus der Customer-Tabelle zuzugreifen, würdest du
JOIN
-Operationen verwenden.
Die Einhaltung der Ersten Normalform erleichtert das Sortieren und Abfragen von Daten: Wenn eine Zelle mehrere Telefonnummern enthält, kann deren Sortierung und Kategorisierung mühsam werden. Dabei müsste man die Nummern aus jeder Zelle extrahieren, sie trennen und anschließend einen neuen Datensatz zusammenstellen.
Hinweis
Ein Attribut oder eine Menge von Attributen, die jede Zeile eindeutig kennzeichnen, wird als primary key bezeichnet. Alle Attribute, die zum primary key gehören, werden als key attributes bezeichnet.
Danke für Ihr Feedback!