Design relationaler Datenbanken: Normalisierung erklärt
Design von relationalen Datenbanken
Der erste Schritt beim Erstellen einer Datenbank ist die Planung der zu speichernden Informationen. Dabei müssen zwei Aspekte berücksichtigt werden: die verfügbaren Informationen und die benötigten Daten. Eine sorgfältige Planung der Datenbankstruktur, einschließlich der Tabellen, ist für ein effektives IT-Management unerlässlich.
Struktur und Felder einer Tabelle
Die Gestaltung einer Tabelle umfasst die Beschreibung der einzelnen Felder, aus denen ein Datensatz besteht, sowie die Werte, die diese Felder enthalten. Felder repräsentieren die verschiedenen Datentypen innerhalb einer Tabelle, zum Beispiel: Name, Vorname oder Adresse. Die Definition eines Feldes erfordert:
- Den Namen des Feldes
- Den Feldtyp
- Die Feldbreite
Die Datensätze stellen die in den Feldern enthaltenen Informationen dar, wie beispielsweise den Namen und die Anschrift eines Patienten.
Grundlagen der Normalisierung
Die Erste Normalform (1NF) ist ein Standard in der Datenbanknormalisierung. Eine Tabelle in einer relationalen Datenbank erfüllt die 1NF, wenn sie bestimmte Mindestkriterien erfüllt, um eine getreue Darstellung einer Beziehung zu gewährleisten und frei von „sich wiederholenden Gruppen“ zu sein.
Eine funktionale Abhängigkeit beschreibt eine Beziehung zwischen Attributen innerhalb derselben Relation (Tabelle).
Zweite und Dritte Normalform
Die Zweite Normalform (2NF) baut auf der 1NF auf und muss zusätzliche Kriterien erfüllen. Eine Tabelle befindet sich in der Dritten Normalform (3NF), wenn folgende Bedingungen erfüllt sind:
- Die Tabelle befindet sich in der zweiten Normalform (2NF).
- Kein Nicht-Primärattribut ist transitiv vom Primärschlüssel abhängig.
- Alle Nicht-Primärattribute gehören nicht zu einem Kandidatenschlüssel.
Die Boyce-Codd-Normalform (BCNF)
Die Boyce-Codd-Normalform (BCNF) ist eine stärkere Version der dritten Normalform. Sie setzt voraus, dass es keine nicht-trivialen funktionalen Abhängigkeiten von Attributen gibt, die keine Kandidatenschlüssel sind.
Zusammenfassend gilt: Eine Tabelle befindet sich in der BCNF, wenn sie in der 3NF ist und jede nicht-triviale funktionale Abhängigkeit einen Kandidatenschlüssel als Determinante hat. Weniger formal ausgedrückt: Eine Tabelle ist in BCNF, wenn sie in 3NF ist und die einzigen Determinanten Kandidatenschlüssel sind.