Abhängigkeiten

Um die Umwandlung der Relationen in die drei Normalformen zu verstehen, müssen wir zuerst das Konzept der Abhängigkeiten zwischen Attributen dieser Relationen einführen.

Funktionale Abhängigkeit:
Attribut B eines Gegenstandstyps G ist von Attribut A funktional abhängig, wenn zu jedem Wert von A höchstens ein Wert von B auftreten kann.
G.A --> G.B

Beispiel:

ID Name
S1 Meier
S2 Weber

Das Attribut Name ist funktional abhängig vom Attribut ID (ID --> Name).

Identifikationsschlüssel:
Ein Attribut A für das gilt: Jedes Attribut von G ist von A funktional abhängig; kein Attribut von A ist von den übrigen A-Attributen funktional abhängig.
G.A --> G.B

Beispiel:

ID Name Vorname
S1 Meier Hans
S2 Weber Ueli

Das Attribut ID ist Identifikationssschlüssel.

Volle funktionale Abhängigkeit:
A sei der Identifikationsschlüssel eines Gegenstandstyps G, B Attribut; B ist genau dann von A voll funktional abhängig, wenn B von A funktional abhängig ist, aber nicht bereits von Teilen von A.
G.A ==> G.B

Beispiel:

IDStudent Name IDProfessor Note
S1 Meier P2 5
S2 Weber P1 6

Das Attribut „Note“ ist voll funktional abhängig von den Attributen „IDStudent“ und „IDProffesor“ („IDSt, IDProf ==> Note“).

Transitive Abhängigkeit:
A sei der Identifikationsschlüssel eines Gegenstandstyps G, B und C sind weitere Attribute, alle untereinander verschieden/disjunkt; C ist transitiv abhängig von A wenn gilt:
G.A --> G.B ; G.B --> G.C ; G.B -/-> G.A

Beispiel:

ID Name Konto_Nr Bank_Clearing_Nr Bank
L1 Meier 1234-5 836 UBS
L2 Weber 5432-1 835 CS

Die funktionale Abhängigkeit bezüglich „Bank_Clearing_Nr --> Bank“ ist eine transitive Abhängigkeit, da „Bank_Clearing_Nr“ nicht Primärschlüssel der Relation ist.