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.

  • ➡️ Kernidee: In X → Y legt die Determinante X den Wert der abhängigen Größe Y fest, der mit einem Pfeil geschrieben wird.
  • 🏷️ Schlüsselbegriffe: Determinante, abhängige Variable, Axiom, Zerlegung und Vereinigung beschreiben, wie Abhängigkeiten benannt und manipuliert werden.
  • 📐 Armstrongs Axiome: Reflexivität, Augmentation und Transitivität folgern auf jede Abhängigkeit, die eine Menge logisch impliziert.
  • 🔀 Vier Typen: Mehrwertige, triviale, nicht-triviale und transitive Abhängigkeiten beschreiben jeweils eine unterschiedliche Attributbeziehung.
  • 🧹 Normalisierungslink: Abhängigkeiten treiben die Normalisierung voran, wodurch Redundanz und Aktualisierungsanomalien beseitigt werden.
  • 🔑 Verschluss: Die Attributschließung zeigt Kandidatenschlüssel und ob eine Abhängigkeit besteht.
  • Nutzen: Gute Abhängigkeiten sind ein Zeichen für gutes Design und unterscheiden qualitativ hochwertige Schemata von minderwertigen.

Funktionale Abhängigkeit im DBMS

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

Häufig gestellte Fragen

Die Determinante ist das Attribut links vom Pfeil, das den Wert festlegt. Die abhängige Variable ist das Attribut rechts, dessen Wert bestimmt wird. In X → Y bestimmt X den Wert von Y.

Eine funktionale Abhängigkeit legt einen einzelnen Wert für die abhängige Größe fest. Eine mehrwertige Abhängigkeit erlaubt eine Menge unabhängiger Werte, weshalb sie ein eigenes Attribut benötigt und zur vierten Normalform führt.

Berechne den Abschluss einer Attributmenge mithilfe der Abhängigkeiten. Enthält der Abschluss jedes Attribut der Relation, so ist diese Menge ein Superschlüssel; die kleinste solche Menge ist ein Kandidatenschlüssel.

Ja. Algorithmen zur Abhängigkeitserkennung, teilweise KI-gestützt, durchsuchen einen Datensatz und schlagen mögliche Abhängigkeiten vor. Ein Entwickler muss diese bestätigen, da ein in den Beispieldaten zutreffendes Muster nicht zwangsläufig als Regel gilt.

Es speichert eine Information über ein nicht-Schlüsselattribut, daher birgt eine Aktualisierung das Risiko von Anomalien. Das Entfernen transitiver Abhängigkeiten ist genau das, was die dritte Normalform erfordert, wodurch jede Information an einem Ort gespeichert wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: