Leçon 7 / 9 — Chapitre 9: Mise en pratique : clinique
Transaction : enregistrer une consultation et sa prescription
Comme au chapitre 6, une transaction garantit que deux écritures liées s'appliquent ensemble, jamais l'une sans l'autre.
BEGIN;
INSERT INTO consultations (patient_id, medecin, montant)
VALUES (2, 'Dr Cisse', 45);
INSERT INTO prescriptions (consultation_id, medicament, dosage)
VALUES (7, 'Paracetamol', '500mg');
COMMIT;
Sans transaction commune, si le second INSERT échouait (par exemple à cause d'un consultation_id erroné), le premier resterait appliqué : une nouvelle consultation existerait, sans sa prescription prévue. En regroupant les deux dans une transaction, un ROLLBACK déclenché après l'échec du second annulerait aussi le premier — évitant cette incohérence.
À retenir :
- Deux écritures qui n'ont de sens que l'une avec l'autre (une consultation et sa prescription immédiate) doivent être regroupées dans une même transaction.
- Sans transaction commune, un échec partiel peut laisser une donnée incomplète et cohérente en apparence, mais fausse dans les faits.
À vous de jouer : si cette transaction se terminait par ROLLBACK au lieu de COMMIT, la nouvelle consultation existerait-elle malgré tout dans la base ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès