Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu08:aufgaben:a_fk_in_lu05 [2025/10/20 00:04] – gkoch | modul:m290_guko:learningunits:lu08:aufgaben:a_fk_in_lu05 [2025/10/27 11:02] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 17: | Zeile 17: | ||
| * Prüft, dass **Primärschlüssel vorhanden** sind (wie in LU05), aber **keine** Fremdschlüssel. | * Prüft, dass **Primärschlüssel vorhanden** sind (wie in LU05), aber **keine** Fremdschlüssel. | ||
| * Falls ihr neu starten wollt: erstellt die Tabellen nochmals wie in LU05 (PK ja, FK noch nicht) und füllt ein paar **Beispieldaten** ein (mind. 3 Zeilen pro Tabelle). | * Falls ihr neu starten wollt: erstellt die Tabellen nochmals wie in LU05 (PK ja, FK noch nicht) und füllt ein paar **Beispieldaten** ein (mind. 3 Zeilen pro Tabelle). | ||
| + | * PDF mit Schema zu den einzelnen Cases: {{ : | ||
| Zeile 33: | Zeile 34: | ||
| **SQL-Muster (anpassen): | **SQL-Muster (anpassen): | ||
| <WRAP center box round 80%> | <WRAP center box round 80%> | ||
| + | 1. Erstellen Sie eine neue Spalte für den Fremdschlüssel: | ||
| <code sql> | <code sql> | ||
| - | ALTER TABLE < | + | ALTER TABLE TABLE_NAME |
| - | ADD CONSTRAINT fk_<kind>_<eltern> | + | ADD COLUMN neue_spalte DATENTYP [AFTER bestehende_spalte]; |
| - | FOREIGN KEY (< | + | </code> |
| - | REFERENCES | + | 2. Setzen Sie die soeben erstellte Spalte als Fremdschlüssel (Foreign Key): |
| + | <code sql> | ||
| + | ALTER TABLE kind_tabelle | ||
| + | ADD FOREIGN KEY (neue_spalte) | ||
| + | REFERENCES eltern_tabelle(primaerschluessel_spalte) | ||
| ON DELETE RESTRICT | ON DELETE RESTRICT | ||
| ON UPDATE RESTRICT; | ON UPDATE RESTRICT; | ||
| Zeile 54: | Zeile 60: | ||
| ==== 3) DML testen – RESTRICT erfahrbar machen ==== | ==== 3) DML testen – RESTRICT erfahrbar machen ==== | ||
| //DML = Data Manipulation Language -> Daten einfügen, ändern, löschen// | //DML = Data Manipulation Language -> Daten einfügen, ändern, löschen// | ||
| + | |||
| **So gehen Sie vor (für euren gewählten Case):** | **So gehen Sie vor (für euren gewählten Case):** | ||