102
Introduction pratique aux bases de données relationnelles
la valeur nulle de la clé étrangère dans les tuples dépendants
(voir 2.5).
Suppression restreinte : avec la contrainte ON DELETE RESTRICT,
la suppression d'un tuple de référence est refusée tant qu'il
possède des tuples dépendants (voir 2.5).
Suppression en cascade : avec la contrainte ON DELETE
CASCADE, la suppression d'un tuple de référence entraîne celle
des tuples dépendants (voir 2.5).
Dans la figure 3-13 une contrainte de suppression restreinte est
définie dans la table EMPLOYÉ qui est liée à la table de référence
DÉPARTEMENT par la clé étrangère D#_Affectation. En vertu de cette
règle, on peut supprimer un département seulement s'il ne possède
plus de tuples dépendants dans la table EMPLOYÉ.
Violation de
l’intégrité
référentielle
Par conséquent, la commande :
DELETE FROM DEPARTEMENT WHERE D# = 'D6'
provoquera une erreur, car les deux employés Savoy et Brodard sont
encore enregistrés dans le département Finances.
Comme pour la suppression, les opérations d'insertion et de mise
à jour peuvent aussi être soumises aux contraintes d'intégrité
déclaratives. Ainsi, l'opération d'insertion suivante :
INSERT INTO EMPLOYE
VALUES ('E20', 'Morel', 'chemin du Cerisier', 'Marly', 'D7')
provoquera l'affichage d'un message d'erreur, car le département D7
n'existe pas encore dans la table référencée DÉPARTEMENT.
Contraintes
d’intégrité
procédurales
Dans les contraintes d'intégrité procédurales (procedural
integrity constraints, en anglais), les règles des déclencheurs (trigger,
en anglais) jouent un rôle important. Le déclencheur est une
alternative aux contraintes d'intégrité déclaratives : il entraîne
l'exécution d'un groupe de commandes. Nous définissons un
déclencheur en spécifiant essentiellement trois éléments : le nom du
Introduction pratique aux bases de données relationnelles
la valeur nulle de la clé étrangère dans les tuples dépendants
(voir 2.5).
Suppression restreinte : avec la contrainte ON DELETE RESTRICT,
la suppression d'un tuple de référence est refusée tant qu'il
possède des tuples dépendants (voir 2.5).
Suppression en cascade : avec la contrainte ON DELETE
CASCADE, la suppression d'un tuple de référence entraîne celle
des tuples dépendants (voir 2.5).
Dans la figure 3-13 une contrainte de suppression restreinte est
définie dans la table EMPLOYÉ qui est liée à la table de référence
DÉPARTEMENT par la clé étrangère D#_Affectation. En vertu de cette
règle, on peut supprimer un département seulement s'il ne possède
plus de tuples dépendants dans la table EMPLOYÉ.
Violation de
l’intégrité
référentielle
Par conséquent, la commande :
DELETE FROM DEPARTEMENT WHERE D# = 'D6'
provoquera une erreur, car les deux employés Savoy et Brodard sont
encore enregistrés dans le département Finances.
Comme pour la suppression, les opérations d'insertion et de mise
à jour peuvent aussi être soumises aux contraintes d'intégrité
déclaratives. Ainsi, l'opération d'insertion suivante :
INSERT INTO EMPLOYE
VALUES ('E20', 'Morel', 'chemin du Cerisier', 'Marly', 'D7')
provoquera l'affichage d'un message d'erreur, car le département D7
n'existe pas encore dans la table référencée DÉPARTEMENT.
Contraintes
d’intégrité
procédurales
Dans les contraintes d'intégrité procédurales (procedural
integrity constraints, en anglais), les règles des déclencheurs (trigger,
en anglais) jouent un rôle important. Le déclencheur est une
alternative aux contraintes d'intégrité déclaratives : il entraîne
l'exécution d'un groupe de commandes. Nous définissons un
déclencheur en spécifiant essentiellement trois éléments : le nom du
