Mehrwertige Abhängigkeit

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Eine mehrwertige Abhängigkeit (engl. multivalued dependency (MVD)) \alpha \twoheadrightarrow \beta beschreibt die Abhängigkeit einer Menge von Attributen \beta von einem Attribut \alpha.

Im Folgenden bedeutet t[\alpha]: alle Attribute (Spalten) \alpha des Tupels (Zeile) t
Eine mehrwertige Abhängigkeit \alpha \twoheadrightarrow \beta zwischen Attributen einer Relation R liegt vor, wenn gilt:
Für zwei Tupel t_1 \neq t_2 mit t_1[\alpha]=t_2[\alpha] existieren in jeder zulässigen Instanz von R stets zwei weitere Tupel t_3 \neq t_4 mit:


\begin{matrix}
t_1[\alpha]=t_2[\alpha]=t_3[\alpha]=t_4[\alpha] \\
t_1[\beta] = t_3[\beta]\\
t_2[\beta] = t_4[\beta]\\
t_1[R- \alpha - \beta]=t_4[R- \alpha - \beta]\\
t_2[R- \alpha - \beta]=t_3[R- \alpha - \beta]
\end{matrix}

Anschaulich:

\begin{matrix}
\text{Tupel} & \alpha & \beta & R- \alpha - \beta \\
t_1 & a_1 .. a_n & b_1 .. b_m & d_1 .. d_k \\
t_2 & a_1 .. a_n & c_1 .. c_m & e_1 .. e_k \\
t_3 & a_1 .. a_n & b_1 .. b_m & e_1 .. e_k \\
t_4 & a_1 .. a_n & c_1 .. c_m & d_1 .. d_k
\end{matrix}

Mehrwertige Abhängigkeiten sind trivial, falls \beta \subseteq \alpha oder \alpha \cup \beta = R.

Hüllenbildung[Bearbeiten]

Im Zusammenhang mit der Normalisierung von Datenbanken wird oftmals die Menge aller von mehrwertigen Abhängigkeiten implizierten Abhängigkeiten benötigt. Ausgangspunkt ist die Menge D bestehend aus funktionalen Abhängigkeiten FD und mehrwertigen Abhängigkeiten MVD. Ziel ist die Bestimmung der Hülle D^+. Analog zu den Armstrong-Axiomen zur Erweiterung der funktionalen Abhängigkeiten werden hier nachfolgende Axiome angewendet:

  1. Reflexivität, Erweiterung und Transitivität für funktionale Abhängigkeiten
  2. Wiederholung: Falls \alpha \rightarrow \beta, dann auch \alpha \twoheadrightarrow \beta
  3. Komplement: Zu jedem \alpha \twoheadrightarrow \beta existiert auch \alpha \twoheadrightarrow R- \alpha - \beta
  4. Mehrwertige Erweiterung: Gelte \alpha \twoheadrightarrow \beta und sei \gamma \subseteq R sowie \delta \subseteq \gamma, dann gilt auch \alpha \gamma \twoheadrightarrow \beta \delta
  5. Mehrwertige Transitivität: Gilt \alpha \twoheadrightarrow \beta und \beta \twoheadrightarrow \gamma, dann gilt auch \alpha \twoheadrightarrow \gamma - \beta
  6. Verschmelzung: Gilt \alpha \twoheadrightarrow \beta, \gamma \subseteq \beta und existiert ein \delta mit \delta \subseteq R, \gamma \cap \delta = \varnothing und \delta \rightarrow \gamma, dann gilt auch \alpha \twoheadrightarrow \gamma

Auch hier helfen einige weitere abgeleitete Regeln:

  1. Mehrwertige Vereinigung: Wenn \alpha \twoheadrightarrow \beta und \alpha \twoheadrightarrow \gamma, dann gilt auch \alpha \twoheadrightarrow \beta \gamma
  2. Durchschnitt: Wenn \alpha \twoheadrightarrow \beta und \alpha \twoheadrightarrow \gamma, dann gilt auch \alpha \twoheadrightarrow \beta \cap \gamma
  3. Differenz: Wenn \alpha \twoheadrightarrow \beta und \alpha \twoheadrightarrow \gamma, dann gilt auch \alpha \twoheadrightarrow \beta - \gamma bzw. \alpha \twoheadrightarrow \gamma - \beta