Zum Inhalt springen

Mehrwertige Abhängigkeit

aus Wikipedia, der freien Enzyklopädie

Vorlage:Hinweisbaustein Eine mehrwertige Abhängigkeit ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)) <math>\alpha \twoheadrightarrow \beta</math> beschreibt die Abhängigkeit einer Menge von Attributen <math>\beta</math> von einer Menge aus Attributen <math>\alpha</math>.

Definition und Erläuterung

Im Folgenden repräsentiere <math>t[\alpha]</math> alle Attribute (Spalten) <math>\alpha</math> des Tupels (Zeile) <math>t</math> dar. Eine mehrwertige Abhängigkeit <math>\alpha \twoheadrightarrow \beta</math> zwischen Attributen einer Relation <math>R</math> liegt vor, wenn gilt:

Für zwei Tupel <math>t_1</math> und <math>t_2</math> mit <math>t_1[\alpha]=t_2[\alpha]</math> existieren in jeder zulässigen Instanz von <math>R</math> stets zwei weitere Tupel <math>t_3</math> und <math>t_4</math> mit:

<math>

\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\setminus(\alpha\cup\beta)]=t_4[R\setminus(\alpha\cup\beta)]\\ t_2[R\setminus(\alpha\cup\beta)]=t_3[R\setminus(\alpha\cup\beta)] \end{matrix} </math>
Anschaulich ergibt sich daraus:

<math>

\begin{matrix} \text{Tupel} & \alpha & \beta & R\setminus(\alpha\cup\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} </math>
Mehrwertige Abhängigkeiten sind trivial, falls <math>\beta \subseteq \alpha</math> oder <math>\alpha \cup \beta = R</math>.

Hüllenbildung

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 <math>D</math> bestehend aus funktionalen Abhängigkeiten <math>FD</math> und mehrwertigen Abhängigkeiten <math>MVD</math>. Ziel ist die Bestimmung der Hülle <math>D^+</math>. 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 <math>\alpha \rightarrow \beta</math>, dann auch <math>\alpha \twoheadrightarrow \beta</math>
  3. Komplement: Zu jedem <math>\alpha \twoheadrightarrow \beta</math> existiert auch <math>\alpha \twoheadrightarrow R\setminus\{\alpha\cup\beta\}</math>
  4. Mehrwertige Erweiterung: Gelte <math>\alpha \twoheadrightarrow \beta</math> und sei <math>\gamma \subseteq R</math> sowie <math>\delta \subseteq \gamma</math>, dann gilt auch <math>\alpha \gamma \twoheadrightarrow \beta \delta</math>
  5. Mehrwertige Transitivität: Gilt <math>\alpha \twoheadrightarrow \beta</math> und <math>\beta \twoheadrightarrow \gamma</math>, dann gilt auch <math>\alpha \twoheadrightarrow \gamma\setminus\beta</math>
  6. Verschmelzung: Gilt <math>\alpha \twoheadrightarrow \beta</math>, <math>\gamma \subseteq \beta</math> und existiert ein <math>\delta</math> mit <math>\delta \subseteq R</math>, <math>\gamma \cap \delta = \varnothing</math> und <math>\delta \rightarrow \gamma</math>, dann gilt auch <math>\alpha \twoheadrightarrow \gamma</math>

Auch hier helfen einige weitere abgeleitete Regeln:

  1. Mehrwertige Vereinigung: Wenn <math>\alpha \twoheadrightarrow \beta</math> und <math>\alpha \twoheadrightarrow \gamma</math>, dann gilt auch <math>\alpha \twoheadrightarrow \beta \gamma</math>
  2. Durchschnitt: Wenn <math>\alpha \twoheadrightarrow \beta</math> und <math>\alpha \twoheadrightarrow \gamma</math>, dann gilt auch <math>\alpha \twoheadrightarrow \beta \cap \gamma</math>
  3. Differenz: Wenn <math>\alpha \twoheadrightarrow \beta</math> und <math>\alpha \twoheadrightarrow \gamma</math>, dann gilt auch <math>\alpha \twoheadrightarrow \beta\setminus\gamma</math> bzw. <math>\alpha \twoheadrightarrow \gamma\setminus\beta</math>