Zum Inhalt springen
uencoder

Foreign Key

Ein Fremdschlüssel ist eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist, stellt referenzielle Integrität zwischen Tabellen her und verhindert verwaiste Verweise.

Zweck

Referenzielle Integrität gewährleisten, verbundene Daten konsistent halten und Verweise auf nicht existierende Zeilen verhindern.

Mechanismus

FOREIGN KEY (col) REFERENCES other(id). Bedingung: eingefügte/aktualisierte Fremdschlüsselwerte müssen im referenzierten Primärschlüssel existieren (oder NULL sein). Ein optionales ON DELETE CASCADE/SET NULL definiert das Kaskadenverhalten. Fremdschlüssel brauchen Indizes, um Constraint-Prüfungen und JOINs zu beschleunigen.

Anwendungsfälle

  • Tabellenübergreifende referenzielle Integrität
  • Kaskadierendes Löschen/Aktualisieren
  • ORM-Beziehungsmapping
  • Datenkonsistenz-Constraints

Beispiele

  • Eingabe
    FOREIGN KEY (user_id) REFERENCES users(id)
    Output
    Referential integrity constraint

    Foreign key

Häufige Fehler

Unindexed foreign keys lock tables during cascades
Create an index on the foreign key column

Verwandte Begriffe

References