Fremdschlüsselbeziehungen
Fremdschlüssel (Foreign Key) ist in relationalen Datenbanken ein Attribut oder eine Attributkombination in einer Tabelle, das auf den Primärschlüssel oder einen eindeutigen Schlüssel einer anderen Tabelle verweist. Er dient der Modellierung von Beziehungen zwischen Tabellen und der Durchsetzung referenzieller Integrität. Werte in der Fremdschlüsselspalte müssen entweder NULL sein (sofern NULL-Werte erlaubt sind) oder einem vorhandenen Wert im referenzierten Schlüsselfeld entsprechen.
Durch Fremdschlüsselbeziehungen lassen sich 1:n- oder n:1-Beziehungen abbilden, gelegentlich auch mehrspaltige (komposit) Fremdschlüssel. Die referenzielle Integrität
In SQL definiert man Fremdschlüssel typischerweise mit einer Constraint: FOREIGN KEY (Spalten) REFERENCES referenz_tabelle(referenz_spalte) [ON DELETE
DBMS-spezifische Details variieren. In MySQL InnoDB beispielsweise müssen Fremdschlüsselbeziehungen durch passende Indizes unterstützt werden. Namensgebung von
Fremdschlüssel unterscheiden sich vom Primärschlüssel: Der Primärschlüssel identifiziert Zeilen eindeutig, der Fremdschlüssel stellt referenzielle Verweise zu