Aan de slagGa gratis aan de slag

Wijzig het gedrag voor referentiële integriteit van een sleutel

Tot nu toe heb je drie FOREIGN KEY-constraints toegevoegd:

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

Deze foreign keys hebben nu het gedrag ON DELETE NO ACTION. Je gaat dat gedrag veranderen voor de kolom in affiliations die naar organizations verwijst. Als een organization wordt verwijderd, moeten al zijn affiliations (van welke professor dan ook) ook worden verwijderd.

Een key-constraint wijzigen werkt niet met ALTER COLUMN. In plaats daarvan moet je de constraint eerst DROPpen en vervolgens een nieuwe ADDen met een ander ON DELETE-gedrag.

Om constraints te verwijderen heb je wel hun naam nodig. Deze informatie staat ook in information_schema.

Deze oefening maakt deel uit van de cursus

Introductie tot relationele databases in SQL

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
Code bewerken en uitvoeren