Leçon 1 / 9 — Chapitre 9: Mise en pratique : clinique
Les tables patients, consultations et prescriptions
Ce chapitre introduit un nouveau scénario : une clinique, avec trois tables enchaînées.
patients
id | nom
1 | Amina
2 | Idris
3 | Farida
4 | Malick
5 | Nour
consultations
id | patient_id | medecin | montant
1 | 1 | Dr Cisse | 45
2 | 1 | Dr Toure | 60
3 | 2 | Dr Cisse | 45
4 | 3 | Dr Toure | 80
5 | 3 | Dr Cisse | 45
6 | 4 | Dr Toure | 60
prescriptions
consultation_id | medicament | dosage
1 | Paracetamol | 500mg
1 | Ibuprofene | 200mg
2 | Amoxicilline | 250mg
4 | Paracetamol | 500mg
5 | Vitamine_D | 1000UI
Les trois tables s'enchaînent : consultations.patient_id référence patients.id, et prescriptions.consultation_id référence consultations.id. prescriptions n'a pas de colonne id propre : sa clé primaire est composite, sur (consultation_id, medicament) — une même consultation peut prescrire plusieurs médicaments différents (consultation 1 en a deux), mais jamais deux fois le même.
Notez que Nour (patient id 5) n'a aucune consultation, et que les consultations 3 et 6 n'ont aucune prescription associée.
À retenir :
- Une chaîne de tables (patients → consultations → prescriptions) relie des entités de plus en plus spécifiques, chacune référençant la précédente.
- Une clé composite sur une table de détail comme
prescriptionspermet plusieurs lignes par consultation, sans jamais dupliquer un même médicament pour la même consultation.
À vous de jouer : combien de consultations la table consultations contient-elle, et combien concernent Amina (patient id 1) ?
À vous de jouer
À faireVoici la table consultations :
consultations
id | patient_id | medecin | montant
1 | 1 | Dr Cisse | 45
2 | 1 | Dr Toure | 60
3 | 2 | Dr Cisse | 45
4 | 3 | Dr Toure | 80
5 | 3 | Dr Cisse | 45
6 | 4 | Dr Toure | 60
Combien de lignes 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.
À vous de jouer
À faireSur cette même table, combien de consultations concernent le patient d'id 1 (Amina) ?
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
À faireLa clé primaire de la table prescriptions porte-t-elle sur plusieurs colonnes à la fois (clé composite) ? Répondez par oui ou non.
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.
💡 Oui ou non.