Definition der funktionalen Abhängigkeit

funktionalen Abhängigkeit

Bei der funktionalen Abhängigkeit (Functional Dependency) handelt es sich um einen Begriff aus dem Bereich Datenbankmanagementsystem (DBMS). Das ist eine Einschränkung, die die Beziehung zwischen einem Attribut und einem anderen Attribut festlegt.

Der Prozess des Entwurfs einer Datenbankstruktur ist einerseits kreativ und mehrdeutig. Während der Entwicklung wird das logische Datenmodell ständig getestet. Die Korrektheit des logischen Datenmodells wird durch den Normalisierungsprozess sichergestellt, der u.a. die Identifizierung funktionaler Abhängigkeiten umfasst.

Nachvollziehbare Beschreibung der funktionalen Abhängigkeit

Ein Attribut A ist funktional abhängig von einem Attribut B, wenn für jeden Wert von B der Wert von A eindeutig bestimmt werden kann. Mathematisch gesehen handelt es sich um eine binäre Beziehung zwischen Attributmengen einer bestimmten Relation, d.h. um eine Eins-zu-Viele-Beziehung. Die funktionale Abhängigkeit eines A von einem B wird durch einen Pfeil „→“ wie A → B dargestellt.

Ein Beispiel:

Mitarbeiternummer

Mitarbeitername

Gehalt

Abteilung

1

Noah

5.000

Vertrieb

2

Emma

4.700

Finanz

3

Sophia

4.500

PR

Wenn wir in diesem Beispiel den Wert der Mitarbeiternummer kennen, können wir den Namen des Mitarbeiters, die Abteilung, das Gehalt usw. bestimmen. Wir können also sagen, dass die Abteilung, der Name des Mitarbeiters und das Gehalt funktional von der Mitarbeiternummer abhängen.

Arten der funktionalen Abhängigkeit

Es gibt vier Hauptarten von funktionalen Abhängigkeiten, die in der Datenbankverwaltung verwendet werden:

  • Mehrwertige Abhängigkeit

Eine mehrwertige Abhängigkeit liegt vor, wenn Sie mehrere unabhängige mehrwertige Attribute in derselben Tabelle haben. Ein Beispiel: Ein Modellautohersteller führt Buch über Automodelle, Baujahre und Lackfarben. Das Baujahr und die Farbe sind voneinander unabhängig, hängen aber vom Modell ab. Diese beiden Attribute sind mehrwertig und hängen von den Fahrzeugmodellen ab.

  • Triviale funktionale Abhängigkeit

Bei einer trivialen funktionalen Abhängigkeit schließt die funktionale Abhängigkeit eines Attributs oder einer Gruppe von Attributen das ursprüngliche Attribut ein. Beispielsweise würde eine Datentabelle, die die Identifikationsnummern (ID) und Namen von Mitarbeitern enthält, häufig die ID-Nummer des Mitarbeiters als eine Untergruppe der ID- und Namensdaten widerspiegeln.

  • Nicht triviale funktionale Abhängigkeit

Im Gegensatz dazu liegt eine nicht-triviale funktionale Abhängigkeit vor, wenn keines der Attribute eine Teilmenge darstellt. Im Beispiel der Mitarbeiter-ID enthält die Tabelle die Nummer der Mitarbeiter-ID, den Namen und die Liste der Standorte. Die Mitarbeiter-ID könnte wiederum das Primärschlüsselattribut sein, obwohl der Name und der Standort möglicherweise keine Teilmengen der ID-Nummer sind.

  • Transitive Abhängigkeit

Von transitiver Abhängigkeit spricht man, wenn zwei funktionale Abhängigkeiten existieren, die indirekt eine transitive Abhängigkeit bilden. Sie tritt nur auf, wenn eine Beziehung von mindestens drei oder mehr Attributen besteht. Wenn z.B. die Mitarbeiter-ID vom Namen abhängt, der wiederum vom Standort abhängt, dann wird die ID transitiv vom Standort abhängig.

Axiom, Zerlegung, Abhängigkeit, Determinante, Vereinigung sind einige der Schlüsselbegriffe der funktionalen Abhängigkeit, die hier nicht weiter behandelt werden, aber dennoch erwähnt werden sollten.

Funktionale Abhängigkeit vermeidet Datenredundanz. Das bedeutet, dass dieselben Daten nicht an mehreren Stellen in der Datenbank wiederholt werden. Sie hilft, die Qualität der Daten in der Datenbank aufrechtzuerhalten, die Bedeutung und die Grenzen der Datenbank zu definieren, schlechtes Design zu erkennen und Fakten über das Design der Datenbank zu finden.