Historique des conversations
Chargement...
Une clé étrangère (FOREIGN KEY) est une colonne qui référence la clé primaire d'une autre table. Elle garantit l'intégrité référentielle.
CREATE TABLE commandes (
id INT PRIMARY KEY AUTO_INCREMENT,
utilisateur_id INT,
montant DECIMAL(10,2),
date_commande DATETIME,
FOREIGN KEY (utilisateur_id) REFERENCES utilisateurs(id)
);
Un utilisateur peut avoir plusieurs commandes :
utilisateurs (1) ----< commandes (N)
id utilisateur_id
Avec une table de liaison :
CREATE TABLE etudiants_cours (
etudiant_id INT,
cours_id INT,
PRIMARY KEY (etudiant_id, cours_id),
FOREIGN KEY (etudiant_id) REFERENCES etudiants(id),
FOREIGN KEY (cours_id) REFERENCES cours(id)
);
CREATE TABLE commandes (
id INT PRIMARY KEY AUTO_INCREMENT,
utilisateur_id INT,
montant DECIMAL(10,2),
FOREIGN KEY (utilisateur_id)
REFERENCES utilisateurs(id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
-- CASCADE : Supprime/met à jour automatiquement
-- SET NULL : Met à NULL
-- RESTRICT : Empêche la suppression
-- NO ACTION : Comme RESTRICT
ALTER TABLE commandes
ADD CONSTRAINT fk_utilisateur
FOREIGN KEY (utilisateur_id) REFERENCES utilisateurs(id);
Vous maîtrisez les clés étrangères ! Prochain chapitre : Gestion des erreurs.
Testez vos compétences avec nos exercices guidés et le tuteur IA.
Expliquez avec vos mots le concept principal de ce chapitre, puis illustrez-le par un exemple simple.
Réalisez un exercice pratique en reprenant la structure vue dans le cours et en modifiant au moins 2 paramètres.
Concevez une petite solution personnelle liée à ' Clés étrangères' et justifiez vos choix techniques.