Les transactions
La gestion des transactions est au cœur du traitement d’une base de données. Pour permettre à plusieurs utilisateurs d’y accéder simultanément, le SGBD doit gérer les transactions avec le minimum de conflits tout en veillant à la cohérence de la base de données.Une transaction est une unité logique composée d'une ou plusieurs instructions SQL.
Commande LMD 1
Commande LMD 2
................................
................................
................................
Commande LMD n
Une transaction commence implicitement à l’exécution de la première commande SQL et se termine par un COMMIT pour validation ou un ROLLBACK pour annuler la transaction.Commande LMD 2
................................
................................
................................
Commande LMD n
La transaction poursuit l’exécution des commandes SQL une après l’autre jusqu’à ce que l’un des événements suivants se produit:
- COMMIT: la transaction rencontre une instruction COMMIT explicite, toutes les modifications faites sur de la base de données jusqu’à ce point sont validées.
- ROLLBACK: la transaction rencontre une instruction ROLLBACK explicite, toutes les modifications faites sur de la base de données jusqu’à ce point sont annulées.
- Instruction LDD : si une instruction LDD est rencontrée tels que CREATE, DROP, RENAME, ou ALTER, Oracle valide en premier lieu les instructions LMD courantes de la transaction et puis exécute et valide l’instruction LDD en question. Il s’agit d’un commit implicite.
- Fin normal du programme appellant: si le programme se termine sans erreurs, la transaction est validée implicitement. C’est le cas lorsque vous utilisez l’outil sqlplus, puis vous introduisez une série de commandes LMD en mode interactif, ensuite vous quittez normalement la session via la commande sqlplus "EXIT". Dans ce cas un commit implicite est appliqué à votre transaction.
- Arrêt anormal du programme: tels qu’une coupure réseau ou un kill du programme, la transaction est annulée implicitement.
0 Commentaires