Cours SQL et MySQL · Module 11: Projet final
Le Magnum Opus - le défi de Callimaque
Dans cette leçon2
Bienvenue une dernière fois ! Regarde le chemin parcouru. Quand tu te tenais devant la Porte de la Bibliothèque, tu ne pouvais pas écrire un seul SELECT. Aujourd'hui, tu connais le filtrage (WHERE), le tri (ORDER BY), les jointures (JOIN), le regroupement (GROUP BY), les sous-requêtes, les index et les transactions. Je suis fier de toi.
Mais un vrai maître ne se contente pas de lire le catalogue - il le crée. Je place donc devant toi un dernier défi : tu vas concevoir ton propre petit système de bibliothèque.
Ce que nous allons construire ensemble
Dans ce lieu, nous allons revisiter tout l'art de la gestion des données, mais cette fois du côté de l'architecte :
- Tu vas concevoir une nouvelle table et la relier à une table existante grâce à une clé étrangère.
- Tu vas la remplir de données avec l'instruction
INSERT. - Tu vas poser des questions avisées en joignant des tables et en regroupant des résultats.
- Tu vas recourir aux sous-requêtes et à
HAVINGpour en tirer un savoir caché.
Clé étrangère - un bref rappel
Une clé étrangère (FOREIGN KEY) est un renvoi entre rayons. Elle pointe vers une colonne d'une autre table et garantit que la valeur correspond toujours à une ligne existante :
1CREATE TABLE recenzje (
2 id INT PRIMARY KEY AUTO_INCREMENT,
3 ksiazka_id INT,
4 tresc TEXT,
5 FOREIGN KEY (ksiazka_id) REFERENCES ksiazki(id)
6);Ici, ksiazka_id pointe toujours vers un livre réel du rayon ksiazki. Grâce à cela, aucune critique « fantôme » ne pourra jamais exister - un avis sur un livre qui n'est pas là.
Prends une grande inspiration. Il est temps de créer quelque chose qui t'appartienne. LE TRÉSOR S'OUVRE À TOI !
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. À quoi sert une clé étrangère (FOREIGN KEY) dans la table recenzje ?
2. À quoi sert une clé primaire (PRIMARY KEY) dans une table ?
Tâches pratiques dans le jeu
- Éditeur de code
Écris une instruction CREATE TABLE qui crée la table recenzje avec les colonnes : id (INT, clé primaire, AUTO_INCREMENT), ksiazka_id (INT), tresc (TEXT) et ocena (INT). Ajoute une clé étrangère : la colonne ksiazka_id doit référencer la colonne id de la table ksiazki.
- Éditeur de code
Écris une instruction INSERT qui ajoute DEUX lignes à la table recenzje (colonnes ksiazka_id, tresc, ocena) : (1, 'Wspaniała lektura', 5) et (2, 'Trudna, ale wartościowa', 4).
- Tri horizontal
Ordonne sur une ligne le début de l'instruction qui crée un nouveau rayon ulubione :