Zuhause Datenbanken Was ist ein Fremdschlüssel? - Definition aus techopedia

Was ist ein Fremdschlüssel? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Fremdschlüssel?

Ein Fremdschlüssel ist eine Spalte oder eine Gruppe von Spalten in einer relationalen Datenbanktabelle, die eine Verknüpfung zwischen Daten in zwei Tabellen herstellt. Es fungiert als Querverweis zwischen Tabellen, da es auf den Primärschlüssel einer anderen Tabelle verweist und dadurch eine Verknüpfung zwischen ihnen herstellt.

Die Mehrzahl der Tabellen in einem relationalen Datenbanksystem entspricht dem Fremdschlüsselkonzept. In komplexen Datenbanken und Data Warehouses müssen Daten in einer Domäne über mehrere Tabellen hinweg hinzugefügt werden, um eine Beziehung zwischen ihnen aufrechtzuerhalten. Das Konzept der referentiellen Integrität leitet sich aus der Fremdschlüsseltheorie ab.

Fremdschlüssel und deren Implementierung sind komplexer als Primärschlüssel.

Techopedia erklärt Fremdschlüssel

Für jede Spalte, die als Fremdschlüssel fungiert, sollte ein entsprechender Wert in der Verknüpfungstabelle vorhanden sein. Beim Einfügen von Daten und Entfernen von Daten aus der Fremdschlüsselspalte ist besondere Vorsicht geboten, da das sorglose Löschen oder Einfügen die Beziehung zwischen den beiden Tabellen zerstören kann.

Wenn beispielsweise zwei Tabellen vorhanden sind, Kunde und Auftrag, kann eine Beziehung zwischen diesen erstellt werden, indem ein Fremdschlüssel in die Auftragstabelle eingefügt wird, der auf die Kunden-ID in der Kundentabelle verweist. Die Kunden-ID-Spalte ist sowohl in der Kunden- als auch in der Auftragstabelle vorhanden. Die Kunden-ID in der Auftragstabelle wird zum Fremdschlüssel und bezieht sich auf den Primärschlüssel in der Kundentabelle. Um einen Eintrag in die Auftragstabelle einzufügen, muss die Fremdschlüsselbedingung erfüllt sein. Der Versuch, eine Kunden-ID einzugeben, die nicht in der Kundentabelle vorhanden ist, schlägt fehl, wodurch die referenzielle Integrität der Tabelle erhalten bleibt.

Einige referenzielle Aktionen, die einer Fremdschlüsselaktion zugeordnet sind, umfassen Folgendes:

  • Kaskade: Wenn Zeilen in der übergeordneten Tabelle gelöscht werden, werden auch die übereinstimmenden Fremdschlüsselspalten in der untergeordneten Tabelle gelöscht, wodurch ein kaskadierendes Löschen entsteht.
  • Auf Null setzen: Wenn eine referenzierte Zeile in der übergeordneten Tabelle gelöscht oder aktualisiert wird, werden die Fremdschlüsselwerte in der referenzierenden Zeile auf Null gesetzt, um die referenzielle Integrität aufrechtzuerhalten.
  • Trigger: Referenzaktionen werden normalerweise als Trigger implementiert. In vielerlei Hinsicht ähneln Fremdschlüsselaktionen benutzerdefinierten Triggern. Um eine ordnungsgemäße Ausführung zu gewährleisten, werden geordnete referenzielle Aktionen manchmal durch ihre entsprechenden benutzerdefinierten Trigger ersetzt.
  • Als Standard festlegen: Diese referenzielle Aktion ähnelt "als Null festlegen". Die Fremdschlüsselwerte in der untergeordneten Tabelle werden auf den Standardspaltenwert festgelegt, wenn die referenzierte Zeile in der übergeordneten Tabelle gelöscht oder aktualisiert wird.
  • Einschränken: Dies ist die normale Referenzaktion, die einem Fremdschlüssel zugeordnet ist. Ein Wert in der übergeordneten Tabelle kann nicht gelöscht oder aktualisiert werden, solange ein Fremdschlüssel in einer anderen Tabelle auf ihn verweist.
  • Keine Aktion: Diese referenzielle Aktion ähnelt in ihrer Funktion der Aktion "Einschränken", mit der Ausnahme, dass eine Überprüfung ohne Aktion erst nach dem Versuch durchgeführt wird, die Tabelle zu ändern.
Was ist ein Fremdschlüssel? - Definition aus techopedia