Funktionale Abhängigkeit im DBMS: Was ist, Typen und Beispiele

Was ist funktionale Abhängigkeit?

Funktionale Abhängigkeit (FD) ist eine Einschränkung, die die Beziehung eines Attributs zu einem anderen Attribut in einem Datenbankverwaltungssystem (DBMS) bestimmt. Die funktionale Abhängigkeit trägt dazu bei, die Qualität der Daten in der Datenbank aufrechtzuerhalten. Es spielt eine entscheidende Rolle, den Unterschied zwischen gutem und schlechtem Datenbankdesign zu finden.

Eine funktionale Abhängigkeit wird durch einen Pfeil „→“ gekennzeichnet. Die funktionale Abhängigkeit von X von Y wird durch X → Y dargestellt. Lassen Sie uns die funktionale Abhängigkeit in DBMS anhand eines Beispiels verstehen.

Ejemplo:

Mitarbeiternummer Mitarbeitername Gehalt Ort
1 Dana 50000 Cologne
2 Francis 38000 London
3 Martin 25000 Tokio

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

Schlüsselbegriffe

Hier sind einige Schlüsselbegriffe für funktionale Abhängigkeit in der Datenbank:

Schlüsselbegriffe Beschreibung
Axiom Axiome sind eine Reihe von Inferenzregeln, mit denen alle funktionalen Abhängigkeiten einer relationalen Datenbank abgeleitet werden.
Zersetzung Diese Regel besagt, dass Sie eine Aufteilung in zwei verschiedene Tabellen in Betracht ziehen sollten, wenn Sie über eine Tabelle verfügen, die scheinbar zwei Entitäten enthält, die durch denselben Primärschlüssel bestimmt werden.
Abhängig Die Anzeige erfolgt auf der rechte Seite des funktionalen Abhängigkeitsdiagramms.
Determinante Es wird auf der linken Seite des Funktionsabhängigkeitsdiagramms angezeigt.
Union Wenn zwei Tabellen getrennt sind und der PK gleich ist, sollten Sie darüber nachdenken, sie zu platzieren. zusammen

Regeln funktionaler Abhängigkeiten

Nachfolgend sind die drei wichtigsten Regeln für die funktionale Abhängigkeit in der Datenbank aufgeführt:

  • Reflexive Regel –. Wenn X eine Menge von Attributen ist und Y eine Teilmenge von X ist, dann enthält X den Wert Y.
  • Erweiterungsregel: Wenn x -> y gilt und c als Attributmenge gilt, gilt auch ac -> bc. Dabei werden Attribute hinzugefügt, die die grundlegenden Abhängigkeiten nicht verändern.
  • Transitivitätsregel: Diese Regel ist der transitiven Regel in der Algebra sehr ähnlich. Wenn x -> y gilt und y -> z gilt, dann gilt auch x -> z. X -> y wird als Funktion bezeichnet, die y bestimmt.

Arten funktionaler Abhängigkeiten im DBMS

Es gibt hauptsächlich vier Arten funktionaler Abhängigkeiten in DBMS. Im Folgenden sind die Arten funktionaler Abhängigkeiten in DBMS aufgeführt:

  • Mehrwertige Abhängigkeit
  • Triviale funktionale Abhängigkeit
  • Nicht triviale funktionale Abhängigkeit
  • Transitive Abhängigkeit

Mehrwertige Abhängigkeit im DBMS

Mehrwertige Abhängigkeiten treten auf, wenn in einer einzigen Tabelle mehrere unabhängige mehrwertige Attribute vorhanden sind. Eine mehrwertige Abhängigkeit ist eine vollständige Einschränkung zwischen zwei Attributsätzen in einer Relation. Sie erfordert, dass bestimmte Tupel in einer Relation vorhanden sind. Betrachten Sie zum Verständnis das folgende Beispiel mehrwertiger Abhängigkeiten.

Ejemplo:

Auto Model Maf_Jahr Farbe
H001 2017 Metallisch
H001 2017 Grün
H005 2018 Metallisch
H005 2018 Blau
H010 2015 Metallisch
H033 2012 Gray

In diesem Beispiel sind maf_year und color unabhängig voneinander, aber abhängig von car_model. In diesem Beispiel sollen diese beiden Spalten mehrwertig sein, abhängig von car_model.

Diese Abhängigkeit lässt sich wie folgt darstellen:

car_model -> maf_year

car_model->Farbe

Triviale funktionale Abhängigkeit im DBMS

Die triviale Abhängigkeit ist ein Satz von Attributen, der als trivial bezeichnet wird, wenn der Satz von Attributen in diesem Attribut enthalten ist.

X -> Y ist also eine triviale funktionale Abhängigkeit, wenn Y eine Teilmenge von X ist. Lassen Sie uns das anhand eines Beispiels einer trivialen funktionalen Abhängigkeit verstehen.

Beispielsweise:

Emp_id Emp_name
AS555 Harry
AS811 Michael
AS999 Wolfgang

Betrachten Sie diese Tabelle mit zwei Spalten Emp_id und Emp_name.

{Emp_id, Emp_name} -> Emp_id ist eine triviale funktionale Abhängigkeit, da Emp_id eine Teilmenge von {Emp_id,Emp_name} ist.

Nicht triviale funktionale Abhängigkeit im DBMS

Eine funktionale Abhängigkeit, die auch als nichttriviale Abhängigkeit bezeichnet wird, tritt auf, wenn A->B gilt und B keine Teilmenge von A ist. Wenn in einer Beziehung Attribut B keine Teilmenge von Attribut A ist, wird es als nicht trivial betrachtet Abhängigkeit.

Firma CEO Alter
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Ejemplo:

(Unternehmen} -> {CEO} (wenn wir das Unternehmen kennen, kennen wir den Namen des CEO)

Der CEO ist jedoch keine Teilmenge des Unternehmens und daher keine triviale funktionale Abhängigkeit.

Transitive Abhängigkeit im DBMS

Eine transitive Abhängigkeit ist eine Art funktionaler Abhängigkeit, die auftritt, wenn „t“ indirekt durch zwei funktionale Abhängigkeiten gebildet wird. Lassen Sie uns das anhand des folgenden Beispiels für eine transitive Abhängigkeit verstehen.

Ejemplo:

Firma CEO Alter
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Unternehmen} -> {CEO} (wenn wir das Unternehmen kennen, kennen wir den Namen seines CEO)

{CEO } -> {Age} Wenn wir den CEO kennen, kennen wir das Alter

Daher gilt nach der Regel der transitiven Abhängigkeit:

{Company} -> {Age} sollte gelten, das macht Sinn, denn wenn wir den Firmennamen kennen, können wir sein Alter kennen.

Hinweis: Sie müssen bedenken, dass eine transitive Abhängigkeit nur in einer Beziehung von drei oder mehr Attributen auftreten kann.

Was ist Normalisierung?

Normalisierung ist eine Methode zum Organisieren der Daten in der Datenbank, die Ihnen hilft, Datenredundanz sowie Anomalien beim Einfügen, Aktualisieren und Löschen zu vermeiden. Dabei handelt es sich um einen Prozess zur Analyse der Beziehungsschemata auf der Grundlage ihrer unterschiedlichen funktionalen Abhängigkeiten und Primärschlüssel.

Normalisierung ist ein wesentlicher Bestandteil der relationalen Datenbanktheorie. Dies kann dazu führen, dass dieselben Daten in der Datenbank dupliziert werden, was zur Erstellung zusätzlicher Tabellen führen kann.

Vorteile der funktionalen Abhängigkeit

  • Die funktionale Abhängigkeit vermeidet Datenredundanz. Daher wiederholen sich dieselben Daten nicht an mehreren Stellen Datenbank
  • Es hilft Ihnen, die Qualität der Daten in der Datenbank aufrechtzuerhalten
  • Es hilft Ihnen, Bedeutungen und Einschränkungen von Datenbanken zu definieren
  • Es hilft Ihnen, schlechte Designs zu erkennen
  • Es hilft Ihnen, Fakten zum Datenbankdesign zu finden

Zusammenfassung

  • Von einer funktionalen Abhängigkeit spricht man, wenn ein Attribut ein anderes Attribut in einem bestimmt DBMS-System.
  • Axiom, Zerlegung, Abhängigkeit, Determinante, Union sind Schlüsselbegriffe für funktionale Abhängigkeit
  • Vier Arten von funktionaler Abhängigkeit sind 1) mehrwertig, 2) trivial, 3) nicht trivial und 4) transitiv
  • Eine mehrwertige Abhängigkeit tritt auf, wenn in einer einzelnen Tabelle mehrere unabhängige mehrwertige Attribute vorhanden sind
  • Die triviale Abhängigkeit tritt auf, wenn ein Satz von Attributen als trivial bezeichnet wird, wenn der Satz von Attributen in diesem Attribut enthalten ist
  • Eine nichttriviale Abhängigkeit tritt auf, wenn A->B gilt und B keine Teilmenge von A ist
  • Ein Transitiv ist eine Art funktionaler Abhängigkeit, die auftritt, wenn sie indirekt durch zwei funktionale Abhängigkeiten gebildet wird
  • Normalisierung ist eine Methode zum Organisieren der Daten in der Datenbank, die Ihnen hilft, Datenredundanz zu vermeiden