Mir ist nicht klar, was passiert, wenn eine "Fremdschlüsseleinschränkung" mit der Option CASCADE gelöscht wird.CASCADE-Verhalten beim Löschen eines Fremdschlüssels
Betrachten wir zum Beispiel diesen Befehl
ALTER TABLE table1 DROP CONSTRAINT foreignKeyToTable2 CASCADE.
Was die Option CASCADE soll in diesem Fall tun? Was würde passieren, wenn ich es auslasse? Und wenn ich RESTRICT anstelle von CASCADE geschrieben habe?
Hinweis: Dieses Beispiel der Abfrage ist Auszug aus "Ramez Elmasri, Shamkant B. Navathe - Grundlagen der Datenbanksysteme, Ende des Kapitels 5".
Ich denke, zu erklären, wie Fremdschlüssel funktionieren, ist eine zu breite Frage. Die Datenbank-Dokumentation deckt das normalerweise gut ab, und die Ideen sind in den Datenbanken ziemlich gleich. Hier ist die MySQL-Dokumentation: https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html. –
Welches DBMS benutzen Sie? –
@GordonLinoff Ich habe untersucht, wie Fremdschlüssel funktioniert, aber ich kann nicht herausfinden, was das Schlüsselwort CASCADE löschen soll. Ich meine, wenn ich einen Fremdschlüssel aus Tabelle1 mit Verweis auf Tabelle2 erzeuge und dann Tabelle2 mit dem Schlüsselwort CASCADE lösche, wird der Fremdschlüssel gelöscht. Wenn ich ein DBMS wäre, würde ich nichts nach der Ausführung löschen den Befehl ALTER TABLE tabelle1 DROP CONSTRAINT foreignKeyToTable2 CASCADE. – Nisba