Modifier le comportement d'intégrité référentielle d'une clé
Jusqu'ici, vous avez mis en place trois contraintes de clé étrangère :
professors.university_idversuniversities.idaffiliations.organization_idversorganizations.idaffiliations.professor_idversprofessors.id
Ces clés étrangères ont actuellement le comportement ON DELETE NO ACTION. Ici, vous allez modifier ce comportement pour la colonne de affiliations qui référence organizations. Si une organisation est supprimée, toutes ses affiliations (peu importe le professeur) doivent aussi être supprimées.
La modification d'une contrainte de clé ne se fait pas avec ALTER COLUMN. Vous devez plutôt DROP la contrainte puis ADD une nouvelle avec un comportement ON DELETE différent.
Pour supprimer une contrainte, toutefois, vous devez connaître son nom. Cette information est aussi stockée dans information_schema.
Cette activité fait partie du cours
Introduction aux bases de données relationnelles en SQL
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';