Sommaire

Notion de transaction

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

1. Définition d’une 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.

2. Comment éviter les incohérences de données

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