Mehrwertige Abhängigkeit in Datenbanken

Inhaltsverzeichnis:

Mehrwertige Abhängigkeit in Datenbanken
Mehrwertige Abhängigkeit in Datenbanken
Anonim

In einer relationalen Datenbank tritt eine Abhängigkeit auf, wenn die in derselben Datenbanktabelle gespeicherten Informationen andere in derselben Tabelle gespeicherte Informationen eindeutig bestimmen. 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, zwei Attribute (oder Sp alten) in einer Tabelle sind voneinander unabhängig, aber beide hängen von einem dritten Attribut ab.

Image
Image

Eine mehrwertige Abhängigkeit verhindert den Normierungsstandard vierte Normalform. Relationale Datenbanken folgen fünf Normalformen, die Richtlinien für das Datensatzdesign darstellen. Sie verhindern Aktualisierungsanomalien und Inkonsistenzen in den Daten. Die vierte Normalform befasst sich mit Viele-zu-Eins-Beziehungen in einer Datenbank.

Funktionale Abhängigkeit vs. mehrwertige Abhängigkeit

Um eine mehrwertige Abhängigkeit zu verstehen, ist es hilfreich, sich noch einmal anzusehen, was eine funktionale Abhängigkeit ist.

Wenn ein Attribut X eindeutig ein Attribut Y bestimmt, dann ist Y funktional abhängig von X. Dies wird als X -> Y geschrieben. In der Tabelle „Students“unten bestimmt beispielsweise der Student_Name den Studiengang:

Student_Name Major
Ravi Kunstgeschichte
Beth Chemie

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

Wenn Sie möchten, dass die Datenbank auch die Sportarten dieser Schüler aufzeichnet, denken Sie vielleicht, dass es am einfachsten ist, einfach eine weitere Sp alte mit dem Titel Sport hinzuzufügen:

Student_Name Major Sport
Ravi Kunstgeschichte Fußball
Ravi Kunstgeschichte Volleyball
Ravi Kunstgeschichte Tennis
Beth Chemie Tennis
Beth Chemie Fußball

Das Problem dabei ist, dass sowohl Ravi als auch Beth mehrere Sportarten betreiben. Für jede weitere Sportart muss eine neue Zeile hinzugefügt werden.

Diese Tabelle hat eine mehrwertige Abhängigkeit eingeführt, weil das Hauptfach und die Sportart unabhängig voneinander sind, aber beide vom Studenten abhängen. Dies ist ein einfaches Beispiel und leicht erkennbar, aber eine mehrwertige Abhängigkeit könnte in einer großen, komplexen Datenbank zu einem Problem werden.

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

Student_Name ->-> Major

Student_Name - >- > Sport

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

Eine mehrwertige Abhängigkeit erfordert immer mindestens drei Attribute, weil 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 der vierten Normalform, da sie unnötige Redundanzen erzeugt 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:

Student_Name Major
Ravi Kunstgeschichte
Ravi Kunstgeschichte
Ravi Kunstgeschichte
Beth Chemie
Beth Chemie

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

Student_Name Sport
Ravi Fußball
Ravi Volleyball
Ravi Tennis
Beth Tennis
Beth Fußball

Normalisierung wird oft erreicht, indem komplexe Tabellen vereinfacht werden, sodass sie Informationen enth alten, die sich auf eine einzelne Idee oder ein einzelnes Thema beziehen, anstatt zu versuchen, eine einzelne Tabelle so zu gest alten, dass sie zu viele unterschiedliche Informationen enthält.

Empfohlen: