56
Introduction pratique aux bases de données relationnelles
qui supporte l'intégrité référentielle. La valeur D7 sera déclarée
invalide, car elle n'existe pas dans la table référencée DÉPARTEMENT.
La garantie de l'intégrité référentielle déclenche des actions
spécifiques non seulement lors de l'insertion des données, mais aussi
dans les autres opérations sur une base de données. Lorsqu'on veut
supprimer un tuple dans une table, et que ce tuple est référencé par
d'autres tuples dans une table étrangère, le système peut se comporter
de plusieurs manières.
Suppression
restreinte
En mode de suppression restreinte (restricted deletion, en
anglais), l'opération ne sera pas exécutée tant que le tuple à supprimer
est référencé par un tuple dans une autre table. Par exemple, si nous
voulons détruire le tuple «D6, Finances» dans la figure 2-21, notre
opération sera refusée en vertu de la règle de suppression restreinte,
car les deux employés Savoy et Brodard travaillent dans le
département D6.
Suppression en
cascade
Au lieu de la suppression restreinte, nous pouvons opter pour le
mode de suppression en cascade (cascaded deletion, en anglais) dans
la spécification des deux tables EMPLOYÉ et DÉPARTEMENT. En mode
cascade, la suppression d'un tuple entraîne celle de tous les tuples
dépendants. Dans notre exemple de la figure 2-21, si nous demandons
la suppression en cascade du tuple «D6, Finances», alors les deux
tuples «E19, Savoy, avenue de la Gare, Romont, D6» et «E4, Brodard,
rue du Tilleul, Fribourg, D6» seront détruits en même temps.
Suppression avec
mise à la valeur
nulle
Dans le cadre de l’intégrité référentielle, une troisième option
consiste à donner la valeur «inconnue» aux clés étrangères
référencées lors d'une suppression. Nous reviendrons à cette troisième
règle en détail au chapitre 3 lors de notre discussion sur les valeurs
nulles. Enfin, les opérations de mise à jour peuvent aussi être
soumises à des contraintes qui garantissent en permanence l'intégrité
référentielle d'une base de données.
Précédent

- 72/301

Suivant