PaliSkill
SQL Intermédiaire

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 prescriptions permet 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

À faire

Voici 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

À faire

Sur 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

À faire

La 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.

Quitter le module