MySQL

Définition des contraintes d'intégrité référentielle

Comme nous l'avons étudié dans la section précédente, les contraintes d'intégrité référentielle empêche qu'un attribut déclaré comme clé étrangère d'une table ne reçoive une valeur à laquelle ne correspond aucun enregistrement dans la table référencée. Dans la base de donnée Entreprise, vous pouvez empêcher la saisie de données invalides pour chaque clé étrangère en spécifiant des contraintes d'intégrité référentielles adéquates.

Pour définir une contrainte d'intégrité référentielle avec phpMyAdmin, il convient de procéder en trois étapes que nous allons décrire ici au travers de l'exemple de l'attribut AffectationID situé dans la table EMPLOYE qui doit être défini comme une clé étrangère référençant la clé primaire DepartementID de la table DEPARTEMENT. En supposant qu'aucun département ne peut disparaître tant qu'il existe des employés qui lui sont affectés, nous devrons préciser qu'aucun enregistrement de la table DEPARTEMENT ne pourra être supprimé tant qu'il est référencé par un enregistrement situé dans la table EMPLOYE:

A vous de jouer !

Définissez les contraintes référentielles des tables DEPARTEMENT et APPARTENANCE de telle sorte qu'elles satisfassent au schéma relationnel et aux contraintes ci-dessous:

mysql39.jpg
  • Un département possède toujours un chef de département
  • La suppression d'un projet déclenche automatiquement la suppression des liens qui le reliaient aux employés y participant
  • La suppression d'un employé déclenche automatiquement la suppression des liens qui le reliaient aux projets auxquels il participait

|