CommencezCommencez gratuitement

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 :

  1. professors.university_id vers universities.id
  2. affiliations.organization_id vers organizations.id
  3. affiliations.professor_id vers professors.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

Voir le cours

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';
Modifier et exécuter le code