La contrainte d’intégrité
La contrainte d’intégrité
-
Objectif
- Comprendre la notion de contrainte d’intégrité
-
Présentation
- Assurer la cohérence et l’intégrité des données est l’une des principales fonctions du Système de Gestion de Base de Données (SGBD).
- Elle consiste à garantir que les données stockées dans une base de données sont cohérentes entre elles, c’est-à-dire qu’elles respectent toutes les règles exigées par le concepteur de la base.
- La cohérence et l’intégrité des données sont assurées à l’aide d’un ensemble de règles dites contraintes d’intégrité.
-
Définition
- Une contrainte d’intégrité est une règle appliquée à une colonne ou à une table et qui doit être toujours vérifiée.
- Une contrainte d’intégrité est une règle qui définit la cohérence d’une donnée ou d’un ensemble de données de Base de Données (SGBD).
- Dans une base de données, une contrainte d’intégrité permet de garantir la cohérence des données lors des mises à jour de la base.
- Les données d’une base ne sont pas indépendantes, mais obéissant à des règles sémantiques, après chaque mise à jour, le SGBD contrôle qu’aucune contrainte d’intégrité n’est violée.
-
Types de contraintes
- Les principaux types de contraintes d’intégrité sont :
-
Les contraintes générales :
- Une contrainte d’intégrité générale est utilisée pour limiter les valeurs possibles d’un champ quelconque d’une table en fonction de la nature de celui-ci et de son rôle dans le système d’information.
- Ce sont des contraintes appliquées à des colonnes.
- Elles permettent de fixer le caractère obligatoire ou pas d’une colonne et les règles de validité des valeurs qui peuvent être prises par cette colonne.
- Exemple
- La note obtenue dans une matière doit être comprise entre zéro et vingt.
- Le prix d’une facture ne doit pas être un nombre négatif
- La quantité commandée dans la table Commande est obligatoire et doit être positive et supérieure à zéro.
-
Les contraintes d’intégrité de tables :
- Elles permettent d’assurer que chaque table a une clé primaire.
- Les contraintes d’intégrité sur une table sont :
PRIMARY KEY (
définit les attributs de la liste comme la clé primaire) : UNIQUE (
interdit que deux tuples de la relation aient les mêmes valeurs pour l’ensemble des attributs de la liste.) : FOREIGN KEY (
contrôle l’intégrité référentielle entre les attributs de la liste et la table et ses colonnes spécifiées) REFERENCES ( ) : CHECK (
contrôle la validité de la valeur des attributs spécifiés dans la condition dans le cadre d’une restriction de domaine) : - Exemples
- La table Élève doit avoir une clé primaire, le numéro de carte d’identité par exemple.
-
Les contraintes d’intégrité référentielles :
- Elles permettent de s’assurer que les valeurs introduites dans une colonne figurent dans une autre colonne en tant que clé primaire.
- Elle est représentée sous forme de lien entre tables
- Les contraintes d’intégrité sur une colonne sont :
PRIMARY KEY :
définit l’attribut comme la clé primaireUNIQUE :
interdit que deux tuples de la relation aient la même valeur pour l’attribut.REFERENCES
contrôle l’intégrité référentielle entre l’attribut et la table et ses colonnes spécifiées( ) : CHECK (
contrôle la validité de la valeur de l’attribut spécifié dans la condition dans le cadre d’une restriction de domaine) :