Funktionale Abhängigkeiten in Datenbanksystemen: Typen mit Beispielen
⚡ Intelligente Zusammenfassung
Funktionale Abhängigkeit ist eine Einschränkung, die festlegt, wie ein Attribut in einem DBMS mit einem anderen zusammenhängt. Sie bildet die Grundlage für die Normalisierung, indem sie Determinanten und Abhängigkeiten identifiziert, und wird in mehrwertige, triviale, nicht-triviale und transitive Abhängigkeiten unterteilt.
Was ist funktionale Abhängigkeit?
Funktionale Abhängigkeit (FD) Eine funktionale Abhängigkeit ist eine Einschränkung, die die Beziehung zwischen Attributen in einem Datenbankmanagementsystem (DBMS) festlegt. Sie trägt zur Datenqualität in der Datenbank bei und spielt eine entscheidende Rolle bei der Unterscheidung zwischen gutem und schlechtem Datenbankdesign.
Eine funktionale Abhängigkeit wird durch einen Pfeil „→“ dargestellt. Die funktionale Abhängigkeit von Y von X wird durch X → Y repräsentiert. Betrachten wir ein Beispiel, um die funktionale Abhängigkeit zu verdeutlichen.
Ejemplo:
| Mitarbeiternummer | Mitarbeitername | Gehalt | Stadt |
|---|---|---|---|
| 1 | Dana | 50000 | Cologne |
| 2 | Francis | 38000 | London |
| 3 | Martin | 25000 | Tokio |
In diesem Beispiel können wir, wenn wir die Mitarbeiternummer kennen, den Namen des Mitarbeiters, den Wohnort, das Gehalt usw. ermitteln. Daraus lässt sich schließen, dass Wohnort, Name und Gehalt funktional von der Mitarbeiternummer abhängen.
Schlüsselbegriffe
Hier sind einige Schlüsselbegriffe für funktionale Abhängigkeiten in einer Datenbank:
| Schlüsselbegriffe | Beschreibung |
|---|---|
| Axiom | Axiome sind eine Reihe von Inferenzregeln, die verwendet werden, um alle funktionalen Abhängigkeiten einer relationalen Datenbank abzuleiten. |
| Zersetzung | Eine Regel besagt, dass man, wenn eine Tabelle zwei Entitäten enthält, die durch denselben Primärschlüssel bestimmt werden, erwägen sollte, diese in zwei verschiedene Tabellen aufzuteilen. |
| Abhängig | Es wird auf der rechten Seite des Funktionsabhängigkeitsdiagramms angezeigt. |
| Determinante | Es wird auf der linken Seite des Funktionsabhängigkeitsdiagramms angezeigt. |
| Union | Dies legt nahe, dass man, wenn zwei Tabellen getrennt sind und den gleichen Primärschlüssel haben, erwägen sollte, sie zusammenzuführen. |
Regeln funktionaler Abhängigkeiten (Armstrongs Axiome)
Nachfolgend sind die drei wichtigsten Regeln für funktionale Abhängigkeiten in einer Datenbank aufgeführt. Sie sind als Armstrongs Axiome bekannt, und jede andere Inferenzregel lässt sich von ihnen ableiten.
- Reflexive Regel: Wenn X eine Menge von Attributen ist und Y eine Teilmenge von X ist, dann gilt X → Y.
- Erweiterungsregel: Wenn X → Y gilt und C eine Attributmenge ist, dann gilt auch XC → YC. Das Hinzufügen von Attributen ändert nichts an der grundlegenden Abhängigkeit.
- Transitivitätsregel: Ähnlich dem Transitivitätsgesetz in der Algebra: Wenn X → Y gilt und Y → Z gilt, dann gilt auch X → Z.
Daraus werden drei weitere Regeln abgeleitet, die in der Praxis ständig Anwendung finden:
- Gewerkschaftsregel: Wenn X → Y und X → Z, dann X → YZ.
- Zerlegungsregel: Wenn X → YZ, dann X → Y und X → Z.
- Pseudo-Transitivitätsregel: Wenn X → Y und WY → Z, dann WX → Z.
Die wiederholte Anwendung dieser Regeln auf eine Menge von Abhängigkeiten erzeugt deren Schließung, die vollständige Menge der logisch folgenden Abhängigkeiten. Die Abgeschlossenheit einer Attributmenge ist auch die Methode, mit der Kandidatenschlüssel gefunden werden, was direkt mit der Untersuchung von zusammenhängt. DBMS-Schlüssel.
Arten funktionaler Abhängigkeiten im DBMS
In Datenbankmanagementsystemen (DBMS) gibt es im Wesentlichen vier Arten von funktionalen Abhängigkeiten:
- 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 Tabelle mehrere unabhängige mehrwertige Attribute vorhanden sind. Eine mehrwertige Abhängigkeit ist eine vollständige Bedingung zwischen zwei Attributsätzen in einer Relation, die das Vorhandensein bestimmter Tupel erfordert. Betrachten Sie das folgende Beispiel.
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 voneinander unabhängig, aber von Car_model abhängig. Man spricht von mehrwertigen Spalten, die von Car_model abhängen. Dies wird wie folgt dargestellt:
Fahrzeugmodell → MAF-Jahr
Automodell → Farbe
Triviale funktionale Abhängigkeit im DBMS
Eine triviale Abhängigkeit ist eine Menge von Attributen, die als trivial bezeichnet wird, wenn die Menge der Attribute in diesem Attribut enthalten ist. So ist X → Y eine triviale funktionale Abhängigkeit, wenn Y eine Teilmenge von X ist. Betrachten Sie das folgende Beispiel.
| Emp_id | Emp_name |
|---|---|
| AS555 | Harry |
| AS811 | George |
| AS999 | Wolfgang |
Betrachten wir 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ängigkeiten in DBMS
Eine nicht-triviale Abhängigkeit liegt vor, wenn A → B wahr ist und B keine Teilmenge von A ist. Wenn Attribut B keine Teilmenge von Attribut A ist, wird die Abhängigkeit als nicht-trivial betrachtet.
| Firma | CEO | Alter |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Apple | Tim Cook | 57 |
Ejemplo:
{Unternehmen} → {CEO} (wenn wir das Unternehmen kennen, kennen wir auch den Namen des CEO). Der CEO ist jedoch keine Teilmenge des Unternehmens, weshalb es sich um eine nicht-triviale funktionale Abhängigkeit handelt.
Transitive Abhängigkeit im DBMS
Eine transitive Abhängigkeit ist eine Art funktionaler Abhängigkeit, die auftritt, wenn ein Attribut indirekt durch zwei funktionale Abhängigkeiten bestimmt wird. Betrachten Sie das folgende Beispiel.
| Firma | CEO | Alter |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Alibaba | Jack Ma | 54 |
{Firma} → {CEO} (wenn wir die Firma kennen, kennen wir auch den Namen des CEO).
{CEO} → {Alter} (wenn wir den CEO kennen, kennen wir auch sein Alter).
Daher sollte nach dem Prinzip der transitiven Abhängigkeit {Firma} → {Alter} gelten, was Sinn macht, denn wenn wir den Firmennamen kennen, können wir das Alter herausfinden.
Hinweis: Transitive Abhängigkeit kann nur in einer Relation mit drei oder mehr Attributen auftreten.
Was ist Normalisierung?
Die Normalisierung ist eine Methode zur Organisation von Daten in einer Datenbank, die Datenredundanz sowie Anomalien beim Einfügen, Aktualisieren und Löschen vermeidet. Es handelt sich um einen Prozess der Analyse von Relationsschemata anhand ihrer verschiedenen funktionalen Abhängigkeiten und ihres Primärschlüssels.
Die Normalisierung ist ein grundlegendes Prinzip der relationalen Datenbanktheorie. Sie kann dazu führen, dass Daten auf mehrere Tabellen verteilt werden, sodass jede Information nur einmal gespeichert wird. Der vollständige Prozess wird im Leitfaden zu [hier fehlender Text] beschrieben. Datenbanknormalisierung, was direkt auf den oben genannten Abhängigkeitstypen aufbaut.
Vorteile der funktionalen Abhängigkeit
- Funktionale Abhängigkeiten vermeiden Datenredundanz, sodass dieselben Daten nicht an mehreren Stellen im System wiederholt werden. Datenbank.
- Es hilft Ihnen, die Qualität der Daten in der Datenbank aufrechtzuerhalten.
- Es hilft Ihnen, die Bedeutung und die Einschränkungen von Datenbanken zu definieren.
- Es hilft Ihnen, schlechte Designs zu erkennen.
- Es hilft Ihnen, die Fakten zum Datenbankdesign herauszufinden.

