Afin de limiter les problématiques indiquées dans les paragraphes précédents, il faut que le développeur se pose la question : quels sont les objets (ligne, colonne, table…) que je manipule dans mon traitement et comment éviter qu’un autre utilisateur ne puisse les atteindre avant que j’aie terminé mes mises à jour ?
À ce moment, on commence à parler de « transaction ».
La transaction permet de borner le début et la fin d’une action dans la base, sur une ou plusieurs tables, qui doivent rester cohérentes.
La transaction est une notion qui vient des applications dites « transactionnelles ». À chaque fois qu’il existe un dialogue écran entre l’application et l’utilisateur, on parle d’application transactionnelle.
Toutes les applications utilisent des mécanismes de verrouillage.
Plusieurs méthodes existent pour garantir une cohérence dans la base :
Lancer les transactions les unes derrière les autres (en série). L’inconvénient principal est le temps d’attente très important pour les utilisateurs. Cela revient à avoir une application mono-utilisateur !
Possibilité de bloquer en début de programme principal tous les objets implicitement puis les libérer à la fin. ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique