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 |
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 |
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