- Comprendre le concept de clé étrangère et sa relation avec les clés primaires.
- Maîtriser la syntaxe des jointures SQL (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN).
- Écrire des requêtes SQL intégrant des jointures pour extraire des informations pertinentes.
docker compose up -d
pour démarrer les servicesdocker compose down
pour arrêter les services- Accéder à PHPMYADMIN via
http://localhost:8080
Une clé étrangère (FOREIGN KEY) établit un lien entre deux tables. Elle correspond à une colonne (ou un ensemble de colonnes) dans une table qui fait référence à une clé primaire d'une autre table.
CREATE TABLE Inscription (
id_inscription INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
id_etudiant INT,
id_cours INT,
FOREIGN KEY (id_etudiant) REFERENCES Etudiant(id_etudiant),
FOREIGN KEY (id_cours) REFERENCES Cours(id_cours)
);
Ici, id_etudiant de la table Inscription est une clé étrangère qui fait référence à id_etudiant de la table Etudiant.
Les jointures SQL permettent de lier les données de plusieurs tables sur la base d'une relation commune (souvent une clé étrangère).
- INNER JOIN : Ne conserve que les correspondances entre les deux tables.
- LEFT JOIN : Conserve toutes les lignes de la table de gauche, même si elles n'ont pas de correspondance.
- RIGHT JOIN : Conserve toutes les lignes de la table de droite, même si elles n'ont pas de correspondance.
- Affichez la liste des étudiants et les cours auxquels ils sont inscrits. (INNER JOIN)
- Affichez la liste de tous les étudiants, y compris ceux qui ne sont pas inscrits à des cours. (LEFT JOIN)
- Affichez la liste de tous les cours, y compris ceux auxquels aucun étudiant n'est inscrit. (RIGHT JOIN)
- Affichez la liste complète de tous les étudiants et de tous les cours, qu'il y ait correspondance ou non. (FULL OUTER JOIN)
- Quels sont les étudiants qui ne sont inscrits à aucun cours ?
- Quels sont les cours qui n’ont aucun étudiant inscrit ?
- Affichez la liste des étudiants avec leurs cours. Indiquez "Non inscrit" si l'étudiant n'est inscrit à aucun cours.
- Insérez un nouvel étudiant nommé "Bernard Simon".
- Inscrivez "Bernard Simon" au cours "Anglais".
- Supprimez l'inscription de Paul Leroy au cours de Mathématiques.
- Essayez de supprimer un étudiant qui est encore inscrit à un cours.
- Essayez d’insérer un enregistrement dans la table
Inscription
avec unid_etudiant
ou unid_cours
qui n'existe pas.
- Affichez la liste des étudiants, le nombre total de cours auxquels ils sont inscrits et la liste de ces cours sous forme de texte.