Partie 4 · Fiabilité
Transactions et gestion d'erreur
Le système traite des insertions unitaires et des traitements en lot. Il faut donc prévoir des scénarios transactionnels réalistes :
- définir au moins un scénario nécessitant un
COMMIT/ROLLBACK; - décrire un cas d'échec qui doit annuler tout le lot ;
- préciser la journalisation attendue en cas de succès et d'erreur ;
- expliquer l'intérêt métier d'une gestion transactionnelle correcte.
Critères d'évaluation : utilisation de BEGIN / COMMIT / ROLLBACK, cohérence des scénarios, gestion des erreurs.
Un lot est tout ou rien
Exemple (exemple ajouté) : un lot de 3 annonces dont la 2e a un budget négatif. Sans transaction, la 1re annonce est déjà écrite et la 3e ne l'est pas : la base contient un lot à moitié traité. Avec transaction, l'échec annule tout le lot. L'intérêt métier : pas d'état incohérent, retraitement du lot possible, une panne ou une erreur de manipulation ne fait pas perdre ni corrompre les données.
Journalisation : un log métier/technique de succès (lot validé) et un log d'erreur (cause, lot concerné). Point d'attention : le log d'erreur doit être écrit après le ROLLBACK, sinon il serait annulé avec le reste (notion générale, hors cours).
À toi de coder
Vérifie que tu as compris