En SQL, les clés sont utilisées pour identifier les lignes d'une table de manière unique, appliquer les relations entre les tables et maintenir l'intégrité des données. Il existe différents types de clés, chacune ayant un objectif précis. Vous trouverez ci-dessous une ventilation des différentes clés avec des exemples simples :
Une clé primaire identifie de manière unique chaque enregistrement dans une table. Il ne peut pas avoir de valeurs NULL et il ne peut y avoir qu'une seule clé primaire par table.
Exemple :
CRÉER TABLE Étudiants (
StudentID INT PRIMARY KEY, -- Clé primaire
Nom VARCHAR(50),
Âge INT
);
Ici, StudentID est la clé primaire, ce qui signifie que chaque valeur StudentID doit être unique et non nulle.
Une clé étrangère est une colonne (ou un ensemble de colonnes) qui crée une relation entre deux tables. Il pointe vers la clé primaire d'une autre table, renforçant ainsi l'intégrité référentielle.
Exemple :
CRÉER TABLE Cours (
CourseID INT PRIMARY KEY, -- Clé primaire
Nom du cours VARCHAR(50)
);
CRÉER TABLE Inscriptions (
EnrollmentID INT PRIMARY KEY,
ID étudiant INT,
CourseID INT,
CLÉ ÉTRANGÈRE (CourseID) RÉFÉRENCES Cours (CourseID) - Clé étrangère
);
Ici, CourseID dans la table Enrollments est une clé étrangère qui fait référence au CourseID dans la table Courses.
Une clé candidate est une colonne (ou un ensemble de colonnes) qui peut identifier de manière unique une ligne dans un tableau. Une table peut avoir plusieurs clés candidates, mais une seule d'entre elles est choisie comme clé primaire.
Exemple :
CRÉER TABLE Employés (
EmployeeID INT, -- Clé du candidat
Envoyer un e-mail à VARCHAR(100), -- Clé du candidat
Nom VARCHAR(50),
CLÉ PRIMAIRE (EmployeeID) -- Choisie comme clé primaire
);
Dans ce tableau, EmployeeID et Email peuvent identifier de manière unique une ligne, ce sont donc des clés de candidat. Cependant, EmployeeID est choisi comme clé primaire.
Une clé composite est une clé primaire composée de deux colonnes ou plus, qui identifient ensemble de manière unique une ligne du tableau.
Exemple :
CRÉER TABLE Commandes (
ID de commande INT,
ID Produit INT,
Quantité INT,
CLÉ PRIMAIRE (OrderID, ProductID) - Clé composite
);
Ici, OrderID et ProductID forment ensemble une clé composite. Deux lignes ne peuvent pas avoir la même combinaison de OrderID et ProductID.
Une clé alternative est toute clé candidate qui n'est pas sélectionnée comme clé primaire.
Exemple :
CRÉER TABLE Véhicules (
VehicleID INT, -- Clé primaire
LicensePlate VARCHAR(50), -- Clé alternative
Nom du propriétaire VARCHAR(50),
CLÉ PRIMAIRE (VehicleID)
);
Ici, LicensePlate est une clé candidate mais pas la clé primaire, c'est donc une clé alternative.
Une clé unique garantit que toutes les valeurs d'une colonne ou d'un ensemble de colonnes sont distinctes les unes des autres. Contrairement à la clé primaire, une clé unique peut avoir des valeurs NULL.
Exemple :
CRÉER TABLE Utilisateurs (
ID utilisateur INT CLÉ PRIMAIRE,
E-mail VARCHAR(100) UNIQUE, -- Clé unique
Nom d'utilisateur VARCHAR(50)
);
Ici, Email est une clé unique, garantissant qu'aucun utilisateur n'a la même adresse e-mail, mais il peut autoriser les valeurs NULL (si vous le souhaitez).
Une super clé est un ensemble d'une ou plusieurs colonnes qui peuvent identifier de manière unique une ligne dans un tableau. Une clé candidate est une super clé minimale (c'est-à-dire qu'aucune colonne ne peut en être supprimée sans perdre la propriété d'unicité).
Exemple :
Dans le tableau Employés :
(EmployeeID, Email) -- Super Key (car EmployeeID et Email ensemble peuvent identifier de manière unique les lignes)
Toute combinaison permettant d'identifier de manière unique des lignes, telles que EmployeeID ou Email seul, ou les deux ensemble, peut être considérée comme une super clé.
Une clé de substitution est une clé artificielle utilisée comme identifiant unique pour une table. Il s'agit souvent d'une valeur générée par le système, comme un entier auto-incrémenté qui n'a aucune signification dans le monde réel.
Exemple :
CRÉER TABLE Commandes (
OrderID INT AUTO_INCREMENT, -- Clé de substitution
Nom du produit VARCHAR(50),
Quantité INT,
CLÉ PRIMAIRE (ID de commande)
);
Ici, OrderID est une clé de substitution, généralement générée par le système de base de données, sans aucune signification commerciale directe.
Résumé des clés :
Chacune de ces clés joue un rôle crucial dans la conception de bases de données bien structurées qui garantissent l'intégrité des données et des requêtes efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!