Erste SchritteKostenlos loslegen

Ändere das Verhalten der referenziellen Integrität eines Schlüssels

Bisher hast du drei Fremdschlüsselbeschränkungen implementiert:

  1. professors.university_id zu universities.id
  2. affiliations.organization_id zu organizations.id
  3. affiliations.professor_id zu professors.id

Diese Fremdschlüssel haben momentan das Verhalten ON DELETE NO ACTION. Hier änderst du dieses Verhalten für die Spalte, die organizations von affiliations referenziert. Wenn eine Organisation gelöscht wird, sollten auch alle ihre Zugehörigkeiten (von jedem Professor) gelöscht werden.

Das Ändern einer Schlüsselbeschränkung funktioniert nicht mit ALTER COLUMN. Stattdessen muss man die Schlüsselbeschränkung mittels DROP löschen und dann ** eine neue** 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

Kurs anzeigen

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
Bearbeiten und Ausführen von Code