bg_image
header

Fuenfte Normalform - 5NF

Die Fünfte Normalform (5NF) ist ein Konzept in der Datenbanktheorie, das darauf abzielt, Datenbanktabellen so zu strukturieren, dass Redundanz und Anomalien minimiert werden. Die 5NF baut auf den vorherigen Normalformen auf, insbesondere auf der Vierten Normalform (4NF).

In der 5NF werden sogenannte Join-Abhängigkeiten berücksichtigt. Eine Join-Abhängigkeit tritt auf, wenn zwei oder mehr Attribute in einer Tabelle voneinander abhängen, aber nicht direkt, sondern über eine andere Tabelle, mit der sie durch einen Join-Operator verbunden werden können.

Eine Tabelle ist in der 5NF, wenn sie in der 4NF ist und keine Nicht-Trivialen Join-Abhängigkeiten aufweist. Triviale Join-Abhängigkeiten sind solche, die bereits durch den Primärschlüssel oder Superkeys impliziert werden. Nicht-triviale Join-Abhängigkeiten weisen auf eine zusätzliche Beziehung zwischen den Attributen hin, die nicht durch die Schlüssel bestimmt wird.

Die 5NF wird angewendet, um Datenbanken weiter zu normalisieren und ihre Struktur zu optimieren, was zu besserer Datenintegrität und -konsistenz führen kann.

 


Vierte Normalform - 4NF

Die Vierte Normalform (4NF) ist ein Konzept aus der Datenbanktheorie, das auf die Strukturierung von Datenbanktabellen abzielt, um Redundanz und Anomalien zu reduzieren. Sie baut auf den Prinzipien der ersten drei Normalformen (1NF, 2NF und 3NF) auf.

Die 4NF zielt darauf ab, Multivalued Dependency (MVD) zu adressieren. MVD tritt auf, wenn eine Tabelle Attribute enthält, die nicht von einem Primärschlüssel abhängen, sondern sich in einer Beziehung zueinander befinden, die über den Primärschlüssel hinausgeht. Wenn eine Tabelle in 4NF ist, bedeutet dies, dass sie in 3NF ist und keine MVDs enthält.

In der Praxis bedeutet dies, dass in einer 4NF-Tabelle jede Nicht-Schlüssel-Attributkombination funktional abhängig von jedem ihrer Superkeys ist, wobei ein Superkey eine Menge von Attributen ist, die eindeutig eine Tupel in der Tabelle identifizieren. Durch die Erreichung der 4NF können Datenbanken effizienter gestaltet werden, indem Redundanzen minimiert und Datenintegrität maximiert werden.

 


Boyce Codd Normalform - BCNF

Die Boyce-Codd-Normalform (BCNF) ist eine Normalform in der relationalen Datenbanktheorie, die darauf abzielt, Redundanzen und Anomalien in einer Datenbank zu vermeiden. Sie ist eine strengere Form der dritten Normalform (3NF) und wird oft als Erweiterung davon betrachtet.

Eine Relation (Tabelle) befindet sich in der Boyce-Codd-Normalform, wenn sie folgende Bedingungen erfüllt:

  1. Die Relation ist in der dritten Normalform (3NF): Das bedeutet, dass sie bereits in der ersten und zweiten Normalform ist und keine transitive Abhängigkeit zwischen den Attributen existiert.

  2. Jede nicht-triviale funktionale Abhängigkeit X→Y hat einen Superschlüssel als Determinante: Das bedeutet, dass für jede funktionale Abhängigkeit, bei der X die Menge der Attribute ist, die Y bestimmen, X ein Superschlüssel sein muss. Ein Superschlüssel ist eine Menge von Attributen, die die gesamte Relation eindeutig identifizieren können.

Unterschiede zur dritten Normalform (3NF)

Während die dritte Normalform verlangt, dass ein Attribut, das nicht zum Primärschlüssel gehört, direkt von diesem abhängen muss (also nicht transitiv über ein anderes Attribut), geht die BCNF noch einen Schritt weiter. Sie fordert, dass alle Determinanten (die linken Seiten der funktionalen Abhängigkeiten) Superschlüssel sein müssen.

Beispiel

Betrachten wir eine Relation R mit den Attributen A, B und C, und die folgenden funktionalen Abhängigkeiten:

  • A→B
  • B→C

Um zu überprüfen, ob diese Relation in BCNF ist, gehen wir wie folgt vor:

  • Wir stellen fest, dass A→B keine Probleme darstellt, wenn A ein Superschlüssel ist.
  • Allerdings ist B→C problematisch, wenn B kein Superschlüssel ist, da B in diesem Fall nicht die gesamte Relation eindeutig identifizieren kann.

Wenn B kein Superschlüssel ist, dann ist die Relation nicht in BCNF und muss in zwei Relationen zerlegt werden, um die BCNF zu erfüllen:

  • Eine Relation, die B und C enthält
  • Eine andere Relation, die A und B enthält

Zusammenfassung

Die Boyce-Codd-Normalform ist eine strengere Normalform als die dritte Normalform und stellt sicher, dass keine funktionalen Abhängigkeiten existieren, bei denen die linke Seite kein Superschlüssel ist. Dies hilft, Redundanzen und Anomalien in der Datenbankstruktur zu vermeiden und die Integrität der Daten zu gewährleisten.

 


Dritte Normalform - 3NF

Die Dritte Normalform (3NF) ist eine Stufe der Normalisierung in der Datenbanktheorie, die dazu dient, Redundanzen zu minimieren und die Integrität der Daten zu gewährleisten. Eine Relation (Tabelle) befindet sich in der Dritten Normalform, wenn sie die folgenden Bedingungen erfüllt:

  1. Die Relation befindet sich in der Zweiten Normalform (2NF):

    • Das bedeutet, dass die Relation in der Ersten Normalform (1NF) ist (alle Attributwerte sind atomar, keine Wiederholungsgruppen).
    • Alle Nicht-Schlüsselattribute sind vollständig funktional abhängig vom gesamten Primärschlüssel, nicht nur von einem Teil davon.
  2. Keine transitiven Abhängigkeiten:

    • Kein Nicht-Schlüsselattribut hängt transitiv von einem Kandidatenschlüssel ab. Das bedeutet, dass ein Nicht-Schlüsselattribut nicht von einem anderen Nicht-Schlüsselattribut abhängig sein sollte.

Im Detail bedeutet dies, dass für eine Relation R in der 3NF, für jedes Nicht-Schlüsselattribut A und jeden Kandidatenschlüssel K in R die folgende Bedingung erfüllt sein muss:

Beispiel:

Angenommen, wir haben eine Tabelle Studenten mit den folgenden Attributen:

  • Studenten_ID (Primärschlüssel)
  • Name
  • Kurs_ID
  • Kurs_Name
  • Dozent

In dieser Tabelle könnten die Attribute Kurs_Name und Dozent vom Attribut Kurs_ID abhängen, nicht direkt von Studenten_ID. Dies ist ein Beispiel für eine transitive Abhängigkeit, weil:

  • Studenten_IDKurs_ID
  • Kurs_IDKurs_Name, Dozent

Um die Tabelle in die 3NF zu überführen, würden wir die transitiven Abhängigkeiten eliminieren, indem wir die Tabelle aufteilen. Wir könnten zwei Tabellen erstellen:

  1. Studenten:

    • Studenten_ID (Primärschlüssel)
    • Name
    • Kurs_ID
  2. Kurse:

    • Kurs_ID (Primärschlüssel)
    • Kurs_Name
    • Dozent

Jetzt befinden sich beide Tabellen in der 3NF, weil jede Nicht-Schlüsselattribut direkt vom Primärschlüssel abhängt und es keine transitiven Abhängigkeiten mehr gibt.

Durch die Dritte Normalform wird die Datenkonsistenz erhöht und Redundanzen verringert, was die Effizienz der Datenbankoperationen verbessert.

 


Zweite Normalform - 2NF

Die zweite Normalform (2NF) ist ein Konzept aus der Datenbanknormalisierung, einem Prozess zur Organisation von Daten in einer relationalen Datenbank, um Redundanzen zu minimieren und die Integrität der Daten zu gewährleisten. Um eine Relation (Tabelle) in die zweite Normalform zu überführen, müssen folgende Bedingungen erfüllt sein:

  1. Die Relation muss in der ersten Normalform (1NF) sein: Das bedeutet, dass die Tabelle keine wiederholenden Gruppen enthält und alle Attribute atomar sind (jedes Attribut enthält nur einen Wert).

  2. Jedes Nicht-Schlüsselattribut muss vollständig vom gesamten Primärschlüssel abhängen: Das bedeutet, dass kein Nicht-Schlüsselattribut nur von einem Teil eines zusammengesetzten Schlüssels abhängen darf. Diese Regel zielt darauf ab, Teilabhängigkeiten zu eliminieren.

Beispiel für die zweite Normalform

Nehmen wir an, wir haben eine Tabelle Bestellungen mit den folgenden Attributen:

  • Bestellnummer (Primärschlüssel)
  • Artikelnummer (Teil des zusammengesetzten Schlüssels)
  • Kundenname
  • Kundenadresse
  • Artikelname
  • Menge

In diesem Fall wäre der zusammengesetzte Schlüssel Bestellnummer, Artikelnummer, weil eine Bestellung mehrere Artikel enthalten kann.

Um diese Tabelle in die zweite Normalform zu bringen, müssen wir sicherstellen, dass alle Nicht-Schlüsselattribute (Kundenname, Kundenadresse, Artikelname, Menge) vollständig vom gesamten Primärschlüssel abhängen. Wenn das nicht der Fall ist, müssen wir die Tabelle aufteilen.

Schritt 1: Zerlegung der Tabelle Bestellungen:

  1. Erstellen einer Tabelle Bestellungen mit den Attributen:

    • Bestellnummer (Primärschlüssel)
    • Kundenname
    • Kundenadresse
  2. Erstellen einer Tabelle Bestellpositionen mit den Attributen:

    • Bestellnummer (Fremdschlüssel)
    • Artikelnummer (Teil des zusammengesetzten Schlüssels)
    • Artikelname
    • Menge

Jetzt haben wir zwei Tabellen:

Bestellungen:

  • Bestellnummer (Primärschlüssel)
  • Kundenname
  • Kundenadresse

Bestellpositionen:

  • Bestellnummer (Fremdschlüssel)
  • Artikelnummer (Primärschlüssel)
  • Artikelname
  • Menge

Durch diese Zerlegung haben wir erreicht, dass alle Nicht-Schlüsselattribute in der Tabelle Bestellungen und Bestellpositionen vollständig vom Primärschlüssel abhängig sind. Damit befinden sich beide Tabellen in der zweiten Normalform.

Die Anwendung der zweiten Normalform hilft, Anomalien bei Datenaktualisierungen zu vermeiden und sorgt für eine konsistente Datenstruktur.

 


Erste Normalform - 1NF

Die erste Normalform (1NF) ist eine Regel im Bereich der relationalen Datenbanken, die sicherstellt, dass eine Tabelle in einer Datenbank eine bestimmte Struktur hat. Diese Regel hilft dabei, Redundanzen zu vermeiden und die Datenintegrität zu wahren. Die Anforderungen der ersten Normalform sind wie folgt:

  1. Atomare Werte: Jedes Attribut (jede Spalte) in einer Tabelle muss atomare (unteilbare) Werte enthalten. Das bedeutet, dass jeder Wert in einer Spalte ein einzelner Wert und keine Liste oder ein Satz von Werten sein darf.
  2. Eindeutige Spaltennamen: Jede Spalte in einer Tabelle muss einen eindeutigen Namen haben, sodass keine Verwechslung möglich ist.
  3. Eindeutige Reihenfolge der Zeilen: Jede Zeile in der Tabelle muss eindeutig identifizierbar sein. Dies wird in der Regel durch einen Primärschlüssel erreicht, der sicherstellt, dass keine zwei Zeilen identische Werte in allen Spalten haben.
  4. Eindeutige Reihenfolge der Spalten: Die Reihenfolge der Spalten sollte festgelegt und eindeutig sein.

Ein Beispiel für eine Tabelle, die nicht in der ersten Normalform ist:

KundeID Name Telefonnummern
1 Alice 12345, 67890
2 Bob 54321
3 Carol 98765, 43210, 13579

In dieser Tabelle hat die Spalte "Telefonnummern" mehrere Werte pro Zeile, was gegen die erste Normalform verstößt.

Um diese Tabelle in die erste Normalform zu bringen, müsste man die Tabelle so umgestalten, dass jede Telefonnummer in einer eigenen Zeile steht:

KundeID Name Telefonnummer
1 Alice 12345
1 Alice 67890
2 Bob 54321
3 Carol 98765
3 Carol 43210
3 Carol 13579

Durch diese Umstrukturierung erfüllt die Tabelle nun die Bedingungen der ersten Normalform, da jede Zelle atomare Werte enthält.