Funktionelle Abhängigkeit

Eine funktionelle Abhängigkeit (FD) ist eine Einschränkung zwischen zwei Sätzen von Attributen in einer Beziehung von einer Datenbank..

In Anbetracht einer Beziehung R, wie man sagt, bestimmt eine Reihe von Attributen X in R ein anderes Attribut Y auch in R funktionell, (schriftlich X  Y), wenn, und nur wenn jeder X Wert mit genau einem Y-Wert vereinigt wird. Gewöhnlich rufen wir X der bestimmende Satz und Y das abhängige Attribut. So, in Anbetracht eines Tupels und der Werte der Attribute in X, kann man den entsprechenden Wert des Y-Attributes bestimmen. In einfachen Wörtern, wenn X Wert, Y Wert bekannt ist, ist sicher bekannt. Zu den Zwecken der Einfachheit, vorausgesetzt, dass X und Y Sätze von Attributen in R sind, zeigen X  Y an, dass X funktionell beschließt, dass jedes der Mitglieder von Y — in diesem Fall Y als der abhängige Satz bekannt ist. So ist ein Kandidat-Schlüssel ein minimaler Satz von Attributen, die funktionell alle Attribute in einer Beziehung bestimmen.

: (Zeichen: Die "Funktion", die in der "funktionellen Abhängigkeit" wird bespricht, ist die Funktion der Identifizierung.)

Eine funktionelle Abhängigkeit FD: X  Y werden trivial genannt, wenn Y eine Teilmenge X ist.

Der Entschluss von funktionellen Abhängigkeiten ist ein wichtiger Teil des Entwerfens von Datenbanken im Verwandtschaftsmodell, und in der Datenbanknormalisierung und denormalization. Die funktionellen Abhängigkeiten, zusammen mit den Attribut-Gebieten, werden ausgewählt, um Einschränkungen zu erzeugen, die so viele Daten ausschließen würden, die für das Benutzergebiet vom System wie möglich unpassend sind.

Nehmen Sie zum Beispiel an, dass man ein System entwirft, um Fahrzeuge und die Kapazität ihrer Motoren zu verfolgen. Jedes Fahrzeug hat eine einzigartige Fahrzeugkennnummer (VIN). Man würde VIN  EngineCapacity schreiben, weil es für einen Motor eines Fahrzeugs unpassend sein würde, mehr als eine Kapazität zu haben. (Das Annehmen, in diesem Fall, dass Fahrzeuge nur einen Motor haben.) Jedoch, EngineCapacity  VIN, ist falsch, weil es viele Fahrzeuge mit derselben Motorkapazität geben konnte.

Diese funktionelle Abhängigkeit kann darauf hinweisen, dass das Attribut EngineCapacity in eine Beziehung mit dem Kandidat-Schlüssel VIN gelegt wird. Jedoch kann das nicht immer passend sein. Zum Beispiel, wenn diese funktionelle Abhängigkeit infolge der transitiven funktionellen Abhängigkeiten VIN  VehicleModel und VehicleModel  EngineCapacity dann vorkommt, der auf keine normalisierte Beziehung hinauslaufen würde.

Nicht zu vereinfachende Funktion, die Satz abhängt

Ein funktioneller, der abhängt, ist untergegangen S ist nicht zu vereinfachend, wenn der Satz die folgenden drei Eigenschaften hat:

  1. Jeder richtige Satz einer funktionellen Abhängigkeit von S enthält nur ein Attribut.
  2. Jeder linke Satz einer funktionellen Abhängigkeit von S ist nicht zu vereinfachend. Es bedeutet, dass sich das Reduzieren irgendwelchen Attributes vom linken Satz ändern wird, der Inhalt von S (S wird etwas Information verlieren).
  3. Das Reduzieren jeder funktionellen Abhängigkeit wird den Inhalt von S ändern.

Sätze von Functional Dependencies (FD) mit diesen Eigenschaften werden auch kanonisch oder minimal genannt.

Eigenschaften von funktionellen Abhängigkeiten

Vorausgesetzt, dass X Y, und Z Sätze von Attributen in einer Beziehung R sind, kann man mehrere Eigenschaften von funktionellen Abhängigkeiten ableiten. Unter dem wichtigsten sind die Axiome von Armstrong, die in der Datenbanknormalisierung verwendet werden:

  • Teilmenge-Eigentum (Axiom von Reflexivity): Wenn Y eine Teilmenge X, dann X  Y ist
  • Zunahme (Axiom der Zunahme): Wenn X  Y, dann XZ  YZ
  • Transitivity (Axiom von Transitivity): Wenn X  Y und Y  Z, dann X  Z

Aus diesen Regeln können wir diese sekundären Regeln ableiten:

  • Vereinigung: Wenn X  Y und X  Z, dann X  YZ
  • Zergliederung: Wenn X  YZ, dann X  Y und X  Z
  • Pseudotransitivity: Wenn X  Y und WY  Z, dann WX  Z

Gleichwertige Sätze von funktionellen Abhängigkeiten werden Deckel von einander genannt. Jeder Satz von funktionellen Abhängigkeiten hat einen kanonischen Deckel.

Beispiel

Dieses Beispiel illustriert das Konzept der funktionellen Abhängigkeit. Die Situation hat modelliert

ist dieser von Universitätsstudenten, die einen oder mehr Vorträge besuchen, in von dem jedem sie zugeteilt werden

ein Hilfslehrer (TA). Wollen weiter wir annehmen, dass jeder Student in einem Halbjahr ist

und wird durch einen einzigartigen Personalausweis der ganzen Zahl identifiziert.

Wir bemerken das, wann auch immer zwei Reihen in diesem Tisch denselben StudentID, zeigen

sie haben auch notwendigerweise dieselben Halbjahr-Werte. Diese grundlegende Tatsache

kann durch eine funktionelle Abhängigkeit ausgedrückt werden:

  • StudentID  Halbjahr.

Andere nichttriviale funktionelle Abhängigkeiten können zum Beispiel identifiziert werden:

  • {StudentID, Vortrag}  TA
  • {StudentID, Vortrag}  {TA, Halbjahr }\

Die letzten Schnellzüge die Tatsache, dass der Satz {StudentID, Vortrag} ein Superschlüssel der Beziehung ist.

Siehe auch

Außenverbindungen


CDDA / William B. Ellern
Impressum & Datenschutz