44
Chapitre 4 • Concepts des bases de données
Figure 3.11 - Schéma d’étude de l’intégrité référentielle
Création d’une ligne de COMMANDE
La valeur de NCLI de cette ligne doit être présente dans la colonne NCLI d’une ligne
de CLIENT (si la colonne NCLI de COMMANDE avait été déclarée facultative, alors
la valeur de NCLI de la ligne pourrait être absente).
Suppression d’une ligne de COMMANDE
Effectuée sans restriction 13 .
Modification de la valeur de NCLI d’une ligne de COMMANDE
La nouvelle valeur de NCLI de la ligne doit être présente dans la colonne NCLI d’une
ligne de CLIENT (si NCLI de COMMANDE avait été déclarée facultative, alors on
aurait pu effacer la valeur de NCLI de la ligne).
Création d’une ligne de CLIENT
Effectuée sans restriction.
Suppression d’une ligne de CLIENT
Le problème se pose lorsque ce client possède des commandes; il existe alors des
lignes dans COMMANDE qui référencent la ligne de CLIENT à supprimer. On définit
trois comportements possibles qui laissent la base de données dans un état correct.
• Blocage. Le premier consiste à refuser la suppression de la ligne de CLIENT
afin d’éviter de laisser dans la base de données des lignes de COMMANDE
orphelines.
• Propagation ou cascade. Le deuxième consiste à supprimer non seulement la
ligne de CLIENT, mais aussi toutes les lignes de COMMANDE qui la référencent 14 .
13. Pour être tout à fait précis, n’oublions pas que DETAIL est aussi lié à COMMANDE par une
contrainte référentielle. La suppression d’une ligne de COMMANDE n’a pas d’impact sur sa
relation avec CLIENT, mais elle en a sur celle qui concerne DETAIL, que nous ignorons ici pour
simplifier le raisonnement.
14. Et bien sûr aussi les lignes de DETAIL qui référencent les lignes de COMMANDE ainsi
supprimées.
Précédent

- 44/436

Suivant