Funktionale Abhängigkeiten (Abk.
FA, englisch
functional dependency,
FD) sind ein Konzept der
relationalen Entwurfstheorie und bilden die Grundlage für die
Normalisierung von
Relationenschemata.
Eine
Relation wird durch Attribute definiert. Bestimmen einige dieser Attribute eindeutig die Werte anderer Attribute, so spricht man von funktionaler Abhängigkeit. So könnte man sich etwa eine Kundendatenbank vorstellen, in der die Anschrift und die Telefonnummer eines Kunden eindeutig durch seinen Namen zusammen mit seinem Geburtsdatum bestimmt sind. Hier wären also Anschrift und Telefonnummer funktional abhängig von Name und Geburtsdatum.
Mit Hilfe funktionaler Abhängigkeiten lässt sich auch der Begriff
Schlüssel definieren:
Bestimmen einige Attribute einer
Relation eindeutig die Werte aller Attribute der Relation, so spricht man von einem
Superschlüssel, das heißt, jedes Tupel dieser Relation ist eindeutig durch die Werte dieser Attribute bestimmt. Zum Beispiel könnte man eine Kundennummer einführen, die jeden Kunden identifiziert. Ein
Schlüsselkandidat ist ein minimaler Superschlüssel, das heißt, keine echte Teilmenge der Attribute dieses Schlüssels bestimmt vollständig die Werte aller anderen Attribute der Relation. Unter allen Schlüsselkandidaten einer Relation wird ein so genannter
Primärschlüssel ausgewählt.
Beispiel:
In diesem Beispiel ist C funktional abhängig von A und B, geschrieben A, B → C. Der Pfeil kann somit gelesen werden als „bestimmt eindeutig“: Die ersten beiden Attribute zusammen bestimmen eindeutig, welchen Wert Attribut C. hat. Anders ausgedrückt: Ist bekannt, welche Werte die ersten beiden Attribute haben, ist damit auch der Wert des letzten Attributes bestimmt.
Aber C ist nicht funktional abhängig von A allein. Es gelten auch die funktionalen Abhängigkeiten „A ist funktional abhängig von C“, „A ist funktional abhängig von B“ und „C ist funktional abhängig von B“.
Kommentare