Udhuhdu
Contraintes d’intégrité
Contraintes d’intégrité Gestion des accès concurrents Mécanismes de reprise Gestion des droits d’accès
Les données de la base doivent rester conformes à la réalité qu’elle représente Ceci est réalisé à l’aide de la définition des contraintes d’intégrité (CI). Deux types
◦ Les contraintes d’intégrité statiques sont celles qui correspondent à un prédicat sur l’état courant de la base. ◦ Les contraintes d’intégrité dynamiques sont celles qui concernent le passage d’un état à un autre.
GESTION DE L’INTÉGRITÉ
A tout instant de l’existence d’une base de données, on doit pouvoir définir une nouvelle contrainte d’intégrité. Le SGBD doit fournir des mécanismes pour vérifier que la base est cohérente vis à vis de cette contrainte et l’accepter ou la rejeter.
Contraintes statiques
Contraintes Intra-Relations
Unicité de la clé CI individuelles
◦ Plage de valeurs : 4.000 ≤ salaire ≤ 20.000, ◦ Liste de valeurs : Couleur dans [bleu, rouge, vert, jaune] ◦ Contraintes entre constituants : QTE-STOCK ≥ QTE-COMMANDE ◦ Contraintes de format : NOM CHAR(20)
Verticale
◦ Contrôler la valeur d’un constituant d’un n-uplet en fonction des valeurs de ce constituant pour les autres n-uplets.
Horizontale
◦ Contrôler la valeur d’un constituant en fonction des valeurs apparaissant dans les autres constituants
L’instruction ASSERT
ASSERT [on relation] : prédicat ; ◦ Exemple ◦ ASSERT CI1 ON PIECE : MATERIAU IN (‘fer’, ‘bronze’, ‘zinc’, ‘plomb’) ;
Exemple : Employé(Nom, Salaire, Nom-Rayon)
ASSERT CI2 ON Employé E : Salaire ≤ 2 * (SELECT AVG (Salaire) FROM Employé WHERE Nom-Rayon = E.Nom-Rayon);
« Un employé ne peut gagner plus du double de la moyenne des salaires de son rayon »
1
14/11/2010
Contraintes Inter-Relations
Contraintes d’intégrité dynamiques
Contrôler que l’ensemble des valeurs d’un constituant d’une relation R1 apparaît également dans une relation R2