Skip to main content

Mehrwertige Abhängigkeit in Datenbanken

Sind Zuckeralkohole Diätfreundlich? (April 2025)

Sind Zuckeralkohole Diätfreundlich? (April 2025)
Anonim

In einer relationalen Datenbank tritt eine Abhängigkeit auf, wenn die in derselben Datenbanktabelle gespeicherten Informationen eindeutig andere Informationen bestimmen, die in derselben Tabelle gespeichert sind. Eine mehrwertige Abhängigkeit tritt auf, wenn das Vorhandensein einer oder mehrerer Zeilen in einer Tabelle das Vorhandensein einer oder mehrerer anderer Zeilen in derselben Tabelle impliziert. Anders ausgedrückt sind zwei Attribute (oder Spalten) in einer Tabelle unabhängig voneinander, aber beide hängen von einem dritten Attribut ab.

Eine mehrwertige Abhängigkeit verhindert den Normalisierungsstandard der vierten Normalform (4NF). Relationale Datenbanken folgen fünf Normalformen, die Richtlinien für die Datensatzgestaltung darstellen. Sie verhindern Aktualisierungsanomalien und Inkonsistenzen in den Daten. Die vierte Normalform behandelt die Viele-zu-Eins-Beziehungen in einer Datenbank.

Funktionale Abhängigkeit vs. Mehrwertige Abhängigkeit

Um eine mehrwertige Abhängigkeit zu verstehen, ist es hilfreich, die Funktionsabhängigkeit zu überdenken.

Wenn ein Attribut X ein Attribut Y eindeutig bestimmt, ist Y funktional von X abhängig. Dies wird als X -> Y geschrieben. In der Tabelle Students (Schüler) beispielsweise bestimmt der Student_Name den Major:

Studenten
Name des StudentenHaupt
RaviKunstgeschichte
BethChemie

Diese funktionale Abhängigkeit kann geschrieben werden: Student_Name -> Major . Jeder Student_Name bestimmt genau einen Major und nicht mehr.

Wenn Sie möchten, dass die Datenbank auch die Sportarten dieser Schüler erfasst, denken Sie am einfachsten, indem Sie einfach eine weitere Spalte mit dem Titel Sport hinzufügen:

Studenten
Name des StudentenHauptSport
RaviKunstgeschichteFußball
RaviKunstgeschichteVolleyball
RaviKunstgeschichteTennis
BethChemieTennis
BethChemieFußball

Das Problem hier ist, dass sowohl Ravi als auch Beth mehrere Sportarten ausüben. Für jede zusätzliche Sportart muss eine neue Reihe hinzugefügt werden.

Diese Tabelle hat eine mehrwertige Abhängigkeit eingeführt, da der Major und der Sport unabhängig voneinander sind, aber beide vom Schüler abhängen.

Dies ist ein einfaches Beispiel und leicht zu identifizieren, aber eine Abhängigkeit von mehreren Werten kann in einer großen, komplexen Datenbank zu einem Problem werden.

Eine mehrwertige Abhängigkeit wird X -> -> Y geschrieben. In diesem Fall:

Name des Studenten ->-> HauptName des Studenten->-> Sport

Dies wird als "Student_Name Multidetermines Major" und "Student_Name Multidetermines Sport" gelesen.

Eine mehrwertige Abhängigkeit erfordert immer mindestens drei Attribute, da sie aus mindestens zwei Attributen besteht, die von einem dritten abhängig sind.

Mehrwertige Abhängigkeit und Normalisierung

Eine Tabelle mit einer mehrwertigen Abhängigkeit verstößt gegen den Normalisierungsstandard von Fourth Normal Form (4NK), da dies zu unnötigen Redundanzen führt und zu inkonsistenten Daten beitragen kann. Um dies auf 4NF zu bringen, ist es notwendig, diese Informationen in zwei Tabellen aufzuteilen.

Die folgende Tabelle hat jetzt eine funktionale Abhängigkeit von Student_Name -> Major und keine mehrwertigen Abhängigkeiten:

Studenten & Majors
Name des StudentenHaupt
RaviKunstgeschichte
RaviKunstgeschichte
RaviKunstgeschichte
BethChemie
BethChemie

Während diese Tabelle auch eine funktionale Abhängigkeit von Student_Name -> Sport aufweist:

Studenten & Sport
Name des StudentenSport
RaviFußball
RaviVolleyball
RaviTennis
BethTennis
BethFußball

Es ist klar, dass die Normalisierung häufig durch die Vereinfachung komplexer Tabellen angegangen wird, so dass sie Informationen enthalten, die sich auf eine einzelne Idee oder ein Thema beziehen, anstatt zu versuchen, eine einzelne Tabelle mit zu vielen unterschiedlichen Informationen zu versehen.