Les clés primaires et étrangères en SQL
Les clés primaires et étrangères sont essentielles pour organiser les données et créer des relations entre les tables dans une base SQL.
1. La clé primaire (PRIMARY KEY)
Une clé primaire est une colonne (ou un ensemble de colonnes) qui identifie de manière unique chaque ligne d’une table.
Caractéristiques d’une clé primaire :
- Unique : aucune valeur ne peut être dupliquée
- Non nulle : chaque ligne doit avoir une valeur
- Stable : sa valeur ne change pas
Exemple :
CREATE TABLE Clients (
ID INT PRIMARY KEY,
Nom VARCHAR(50),
Ville VARCHAR(50)
);
Ici, ID identifie chaque client de manière unique.
2. La clé étrangère (FOREIGN KEY)
Une clé étrangère est une colonne qui fait référence à la clé primaire d’une autre table. Elle permet de créer une relation entre deux tables.
Exemple :
CREATE TABLE Commandes (
NumCommande INT PRIMARY KEY,
ClientID INT,
DateCommande DATE,
FOREIGN KEY (ClientID) REFERENCES Clients(ID)
);
Ici, ClientID doit correspondre à un ID existant dans la table Clients.
3. Pourquoi utiliser des clés étrangères ?
- Assurer la cohérence des données
- Empêcher les valeurs orphelines
- Créer des relations entre les tables
- Faciliter les jointures
4. Exemple de relation entre deux tables
Clients ------------------------- ID | Nom | Ville 1 | Alice | Paris 2 | Bob | Lyon Commandes ------------------------- NumCommande | ClientID | Date 101 | 1 | 2024-01-10 102 | 2 | 2024-01-12 103 | 1 | 2024-01-15
Les commandes 101 et 103 appartiennent au client Alice (ID = 1).
5. Résumé
- Clé primaire : identifie une ligne de manière unique
- Clé étrangère : crée un lien vers une clé primaire d’une autre table
- Les relations permettent d’organiser les données et d’éviter les incohérences