Modifier le comportement d'intégrité référentielle d'une clé
Jusqu'à présent, vous avez implémenté trois contraintes de clé externes :
professors.university_id
àuniversities.id
affiliations.organization_id
àorganizations.id
affiliations.professor_id
àprofessors.id
Ces clés externes ont actuellement le comportement ON DELETE NO ACTION
. Ici, vous modifierez ce comportement pour la colonne faisant référence à organizations
à partir de affiliations
. Si une organisation est supprimée, toutes ses affiliations (par tout professeur) doivent également être supprimées.
La modification d'une contrainte clé n'est pas possible avec ALTER COLUMN
. Vous devez SUPPRIMER
la contrainte clé, puis AJOUTER
une nouvelle contrainte avec un comportement ON DELETE
différent.
Pour supprimer des contraintes, il est toutefois nécessaire de connaître leur nom. Ces informations sont également disponibles sur information_schema
.
Cet exercice fait partie du cours
Introduction aux bases de données relationnelles en SQL
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';