Gegeben sei ein Relationenschema mit einer Ausprägung R. Eine funktionale Abhängigkeit (engl. functional dependency) stellt eine Bedingung an die möglichen gültigen Ausprägungen des Datenbankschemas dar. Eine funktionale Abhängigkeit, oft abgekürzt als FD, wird dargestellt als
D. h., wenn zwei Tupel gleiche Werte für alle Attribute in haben, dann müssen auch ihre -Werte übereinstimmen. Anders ausgedrückt: Die -Werte bestimmen eindeutig die -Werte; die -Werte sind funktional abhängig von den -Werten.
Die nächste Tabelle zeigt ein Relationenschema über der Attributmenge { A, B, C, D}.
R | |||
A | B | C | D |
a4 | b2 | c4 | d3 |
a1 | b1 | c1 | d1 |
a1 | b1 | c1 | d2 |
a2 | b2 | c3 | d2 |
a3 | b2 | c4 | d3 |
Aus der momentanen Ausprägung lassen sich z. B. die funktionalen
Abhängigkeiten
{A} {B},{A} {C},{C, D} {B}
erkennen, hingegen gilt nicht
{B} {C}.
Ob diese Abhängigkeiten vom Designer der Relation als semantische
Konsistenzbedingung verlangt wurden, läßt sich durch Inspektion der Tabelle
allerdings nicht feststellen.
Statt
{C, D} {B} schreiben wir auch
CD B.
Statt
schreiben wir auch
.
Ein einfacher Algorithmus zum Überprüfen einer (vermuteten) funktionalen Abhängigkeit in der Relation R lautet: