Un SGBD transactionnel (2/2)

Accueil

 Présentation de MySQL

 Technologie InnoDB

 MySQL:atouts & limites

 Benchmarks

 Liens utiles

 

 

 

La notion de transaction (suite):

Plaçons maintenant dans le cas d'utilisation de MySQL.
La transaction sera ici de copier une ligne (de données) d'une table à une autre dans une base de données.
On remplace notre boulanger par une serveur MySQL.
 

La transaction est découpée en deux étapes :

  • On copie la ligne en question de la table 1 à la table 2.
  • On supprime la ligne de la table 1.

Encore une fois si l'une de ces deux étapes ne se soit pas dérouler correctement , c'est alors toute la transaction qui ne peut avoir lieu !
En effet, si la copie n'a pas eu lieu, nous perdons définitivement la donnée !
Si c'est l'effacement de la ligne dans la table 1 qui n'a pas eu lieu, nous obtenons alors un doublon ,ce qui n'est guère apprécié en gestion de base de données.

Nous pouvons donc maintenant donné la définition d'une transaction en terme d'accès à une base de données :

Une transaction est une unité logique de travail qui contient une ou plusieurs blocs SQL exécutés par un utilisateur.
Une transaction se termine lorsqu'elle est explicitement arrêtée par l'utilisateur.
En SQL, une transaction commence par un COMMIT et se termine par un ROLLBACK.