Das Verhalten der referenziellen Integrität eines Schlüssels verändern
Bisher hast du drei Fremdschlüssel-Constraints implementiert:
professors.university_idzuuniversities.idaffiliations.organization_idzuorganizations.idaffiliations.professor_idzuprofessors.id
Diese Fremdschlüssel haben momentan das Verhalten ON DELETE NO ACTION. Nun willst du dieses Verhalten für die Spalte ändern, die organizations von affiliations referenziert. Wenn eine Organisation gelöscht wird, sollten auch alle ihre Zugehörigkeiten (von jeder Professorin und jedem Professor) gelöscht werden.
Das Ändern eines Schlüssel-Constraints funktioniert nicht mit ALTER COLUMN. Stattdessen musst du den Schlüssel-Constraint mittels DROP löschen und dann einen neuen mittels ADD mit einem anderen ON DELETE-Verhalten erstellen.
Um Constraints zu löschen, muss man jedoch ihren Namen kennen. Diese Information ist ebenfalls in information_schema gespeichert.
Diese Übung ist Teil des Kurses
Einführung in relationale Datenbanken in SQL
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';