UAA 7    Base de données

Les contraintes SQL

Les contraintes SQL permettent de contrôler la validité des données dans une table. Elles garantissent la cohérence, l’intégrité et la qualité des informations stockées.

1. NOT NULL

Empêche une colonne de contenir une valeur vide.


CREATE TABLE Clients (
  ID INT NOT NULL,
  Nom VARCHAR(50) NOT NULL,
  Ville VARCHAR(50)
);
  

Ici, ID et Nom doivent obligatoirement avoir une valeur.

2. UNIQUE

Garantit que toutes les valeurs d’une colonne sont différentes.


CREATE TABLE Utilisateurs (
  Email VARCHAR(100) UNIQUE,
  MotDePasse VARCHAR(100)
);
  

Aucun utilisateur ne peut avoir le même email.

3. PRIMARY KEY

Identifie de manière unique chaque ligne d’une table.


CREATE TABLE Produits (
  CodeProduit INT PRIMARY KEY,
  Nom VARCHAR(50),
  Prix DECIMAL(5,2)
);
  

PRIMARY KEY = UNIQUE + NOT NULL.

4. FOREIGN KEY

Crée une relation entre deux tables.


CREATE TABLE Commandes (
  NumCommande INT PRIMARY KEY,
  ClientID INT,
  FOREIGN KEY (ClientID) REFERENCES Clients(ID)
);
  

ClientID doit correspondre à un ID existant dans la table Clients.

5. CHECK

Vérifie qu’une valeur respecte une condition.


CREATE TABLE Employes (
  ID INT PRIMARY KEY,
  Age INT CHECK (Age >= 18)
);
  

Ici, un employé doit avoir au moins 18 ans.

6. DEFAULT

Définit une valeur par défaut si aucune valeur n’est fournie.


CREATE TABLE Articles (
  ID INT PRIMARY KEY,
  Titre VARCHAR(100),
  Statut VARCHAR(20) DEFAULT 'Brouillon'
);
  

Si aucun statut n’est donné, la valeur sera « Brouillon ».

7. Exemple complet


CREATE TABLE Clients (
  ID INT PRIMARY KEY,
  Nom VARCHAR(50) NOT NULL,
  Email VARCHAR(100) UNIQUE,
  Age INT CHECK (Age >= 0),
  Ville VARCHAR(50) DEFAULT 'Non spécifié'
);
  

8. Résumé