1. Qu'est ce qu'une contrainte d'intégrité
La contrainte d'intégrité est un ensemble de règles utilisées pour maintenir la validité des données dans une base de données. Les contraintes d'intégrité peuvent être définies à différents niveaux, tels que les niveaux de colonne, de table et de base de données. En générale un système de gestion des bases de données est doté de plusieurs types de contraintes d'intégrité.
2. Les différents types de contraintes d'intégrité
Il existe plusieurs types de contraintes d'intégrité, notamment:
- NOT NULL : spécifie que la colonne ne peut pas contenir de valeur nulle.
- Unique : spécifie que la colonne ne peut pas contenir de valeurs dupliquées.
- Primary Key : spécifie que la colonne est la clé primaire de la table et ne peut pas contenir de valeurs nulles ou dupliquées.
- Foreign Key : spécifie une relation entre les données de deux tables.
- Check : vérifie si une condition donnée est remplie avant d'insérer ou de mettre à jour des données dans une colonne.
L'utilisation des contraintes d'intégrité permet de garantir la qualité et la fiabilité des données dans une base de données.
3. Exemple d'usage des contraintes d'intégrité
Voici un exemple d'utilisation de contraintes d'intégrité dans une base de données relationnelle :
Créons une table nommée "orders" qui contient les informations sur les commandes clients:
Code sql:
1 2 3 4 5 6 7 8 |
CREATE TABLE orders ( order_id INT NOT NULL, customer_id INT NOT NULL, order_date DATE NOT NULL, total_amount DECIMAL(10,2) NOT NULL, PRIMARY KEY (order_id), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ); |
Dans cet exemple, nous utilisons plusieurs contraintes d'intégrité :
- La colonne "order_id": est définie comme NOT NULL, ce qui signifie qu'elle ne peut pas contenir de valeur nulle.
- La colonne "order_date": est également définie comme NOT NULL, ce qui signifie qu'elle ne peut pas contenir de valeur nulle.
- La colonne "customer_id": est définie comme NOT NULL, ce qui signifie qu'elle ne peut pas contenir de valeur nulle.
- La colonne "order_id": est définie comme PRIMARY KEY, ce qui signifie qu'elle est unique et ne peut pas contenir de valeurs nulles ou dupliquées.
- La colonne "customer_id": est définie comme FOREIGN KEY qui référence la clé primaire de la table "customers" qui garantit l'intégrité référentielle.
Ces contraintes d'intégrité garantissent que les données insérées dans la table "orders" sont valides et fiables.
Younes Derfoufi
CRMEF OUJDA