Leçon 1 / 8 — Chapitre 10: Mise en pratique : restaurant
Les tables plats, tickets et expeditions
Dernier scénario du module : un restaurant avec livraison, sur trois tables indépendantes.
plats
id | nom | prix
1 | Salade Cesar | 12
2 | Pizza Margherita | 15
3 | Burger Maison | 14
4 | Soupe du Jour | 8
5 | Tarte Tatin | 9
tickets
id | plat_id | quantite | semaine
1 | 1 | 2 | cette_semaine
2 | 2 | 3 | cette_semaine
3 | 3 | 1 | cette_semaine
4 | 2 | 2 | semaine_derniere
5 | 4 | 4 | semaine_derniere
6 | 1 | 1 | semaine_derniere
7 | 5 | 2 | cette_semaine
expeditions
id | transporteur | statut
1 | Rapido | livree
2 | Rapido | en_cours
7 | Expressa | livree
Comme au chapitre 2, expeditions.id désigne directement le ticket livré (relation 1-1) : un ticket absent de expeditions (ici, 3, 4, 5 et 6) correspond simplement à une commande servie sur place, sans livraison. La colonne semaine remplace une vraie date : elle distingue les tickets de la semaine en cours de ceux de la semaine précédente, de façon fixe et déterministe.
Les prix de plats sont exprimés en dollars ($).
À retenir :
- Une table sans ligne correspondante dans une autre n'est pas une anomalie : ici, l'absence de livraison signifie simplement « pas de livraison, service sur place ».
- Remplacer une vraie date par une catégorie fixe (
cette_semaine/semaine_derniere) garde un scénario réaliste tout en restant parfaitement prévisible.
À vous de jouer : combien de tickets, sur les 7 existants, n'ont aucune ligne correspondante dans expeditions ?
À vous de jouer
À faireVoici les tables tickets et expeditions :
tickets (id) : 1, 2, 3, 4, 5, 6, 7
expeditions (id) : 1, 2, 7
Combien de tickets, sur les 7 existants, n'ont aucune ligne correspondante dans expeditions ?
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
💡 Un nombre.
À vous de jouer
À faireVoici la table plats :
plats
id | nom | prix
1 | Salade Cesar | 12
2 | Pizza Margherita | 15
3 | Burger Maison | 14
4 | Soupe du Jour | 8
5 | Tarte Tatin | 9
Combien de plats cette table contient-elle ?
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
💡 Un nombre.