Leçon 12 : Contraintes d'Intégrité des Données (NOT NULL, UNIQUE, CHECK)
Les contraintes sont des règles appliquées aux colonnes pour limiter les données qui peuvent être stockées, garantissant la fiabilité et la qualité de votre base de données.
1. Contrainte NOT NULL
Cette contrainte garantit qu'une colonne ne peut pas contenir de valeurs manquantes (NULL). Si vous tentez d'insérer un enregistrement sans fournir de valeur pour une colonne NOT NULL, l'opération échoue.
- Cas d'Usage : Données critiques comme l'identifiant de connexion d'un utilisateur ou le nom d'un produit.
sql CREATE TABLE Users ( UserID INTEGER PRIMARY KEY, Username VARCHAR(50) NOT NULL, -- Doit avoir un nom d'utilisateur LastLogin DATE );
2. Contrainte UNIQUE
Cette contrainte garantit que toutes les valeurs d'une colonne (ou groupe de colonnes) sont uniques. Contrairement à la Clé Primaire, une table peut avoir plusieurs contraintes UNIQUE, et la colonne peut toujours autoriser les valeurs NULL (bien qu'une seule entrée NULL soit généralement permise).
- Cas d'Usage : Adresses e-mail, numéros de série, numéros de passeport.
sql CREATE TABLE Users ( UserID INTEGER PRIMARY KEY, Email VARCHAR(100) UNIQUE -- L'email doit être unique parmi tous les utilisateurs );
3. Contrainte CHECK
Cette contrainte définit une condition spécifique qui doit être remplie pour chaque valeur insérée dans une colonne.
- Cas d'Usage : S'assurer que les âges sont positifs ou que les salaires sont supérieurs au salaire minimum.
sql CREATE TABLE Products ( ProductID INTEGER PRIMARY KEY, Price DECIMAL(10, 2),
-- Le prix doit toujours être supérieur à zéro
CHECK (Price > 0)
);