3. Langages de requête et de manipulation des données
103
déclencheur, une opération sur la base de données et un ensemble
d'actions à déclencher. Par exemple :
Déclaration d’un
déclencheur
CREATE TRIGGER EffectifPersonnel
Déclencheur
ON INSERTION OF EMPLOYE :
Opération sur la base de
de données
UPDATE DEPARTEMENT
Action à déclencher
SET Effectif = Effectif + 1
WHERE D# = D#_Affectation
Fonctionnement
d’un déclencheur
Dans cet exemple, nous admettons que la table DÉPARTEMENT
possède un attribut Effectif qui indique le nombre total des employés
dans chaque département. À chaque nouvelle insertion dans la table
EMPLOYÉ, le déclencheur provoque la mise à jour de l'attribut Effectif
pour le département concerné.
Le système de
bases de données
garantit l’absence
de conflits
La mise en œuvre des déclencheurs n'est pas toujours simple, car
un déclencheur est généralement susceptible d’invoquer d’autres
déclencheurs. Le problème consiste alors à déterminer la fin de
l'ensemble des actions déclenchées. En général, dans les systèmes de
bases de données commercialisés, l'activation simultanée des
déclencheurs est impossible, ceci afin de garantir une séquence
d'actions unique et pour que l'exécution d'un déclencheur se termine
toujours proprement.
3.9 Notes bibliographiques
Les bases de
l’algèbre
relationnelle et du
calcul relationnel
Les premiers travaux de Codd (1970) présentent à la fois le
modèle relationnel et l'algèbre relationnelle. On trouve les
développements ultérieurs sur l'algèbre relationnelle et le calcul
relationnel dans les ouvrages de référence suivants : Date (2004),
Elmasri et Navathe (2004) et Maier (1983). Ullman (1982) met en
évidence l'équivalence de l'algèbre relationnelle et le calcul
relationnel.
Origine des
langages
relationnels
Le langage SQL est issu des travaux de recherche d'Astrahan et
al. (1976) sur le système de bases de données relationnelles «System
R». QUEL, défini par Stonebraker (1986), est le langage de requête et
Précédent

- 118/301

Suivant