====== LU08b – Fremdschlüssel & referentielle Integrität ====== **Begriffe:** * **Parent** (referenzierte Tabelle): Continent, Country * **Child** (referenzierende Tabelle): Country, Trip * **Referentielle Integrität (RI):** FK-Werte im Child müssen auf existierende PK-Werte im Parent zeigen (oder – wenn erlaubt – NULL sein). **Warum FKs?** * Verhindern „verwaiste“ Zeilen (z. B. Trip ohne gültiges Country). * Regeln Verhalten bei Änderungen/Löschungen mit **ON DELETE/ON UPDATE**. **Syntax-Grundform:** CONSTRAINT fk_name FOREIGN KEY (child_col[, ...]) REFERENCES parent_table(parent_pk_col[, ...]) ON DELETE {RESTRICT|CASCADE|SET NULL} ON UPDATE {RESTRICT|CASCADE|SET NULL}; **Tipps:** * Datentypen müssen zusammenpassen (z. B. beide `INT`). * **NO ACTION** verhält sich in MySQL praktisch wie **RESTRICT**. * **SET NULL** nur, wenn die FK-Spalte `NULL` zulässt.