MySQL Clé étrangère | Foreign Key
Une clé étrangère est un champ (ou une collection de champs) dans une table qui fait référence à une clé primaire dans une autre table. La table contenant la clé étrangère s’appelle la table « fille » et la table contenant la clé candidate s’appelle la table « mére ».
Exemple : Dans le diagramme UML suivant, la table « Personnes » est la table « mére », alors que la table « Commandes » est la table « fille ».

Table « Personnes »
L’instruction suivante crée une nouvelle table nommée « Personnes »:
CREATE TABLE Personnes (
PersonneID int AUTO_INCREMENT PRIMARY KEY,
Nom VARCHAR(20) NOT NULL,
Age int,
Adresse VARCHAR(100)
);
Table « Commandes »
Supposons que chaque personne a effectué des commandes. Pour stocker les commandes, vous pouvez créer une nouvelle table nommée « Commandes »:
CREATE TABLE Commandes (
CommandeID int AUTO_INCREMENT PRIMARY KEY,
NumCommande int NOT NULL,
PersonneID int,
FOREIGN KEY (PersonneID) REFERENCES Personnes(PersonneID)
);
La colonne « PersonneID » est une clé étrangère qui fait référence à la colonne « PersonneID » de la table « Personnes ». Nous avons utilisé la contrainte « Foreign Key » pour établir cette relation:
FOREIGN KEY (PersonneID) REFERENCES Personnes(PersonneID)






