.
Plan de cours
- Introduction
- Historique d’Oracle
- Oracle standard edition
- Oracle entreprise edition
- L’architecture SGBDRO
- Série d’exercices
- Oracle Database Express Edition
- la base de données (RDBMS)
- le serveur d’application (IAS)
- l’environnement de développement (ODS)
Profitez de ce manuel de formation en PDF pour comprendre mieux le oracle et enrichir votre connaissance.
Commencez à télécharger ce cours adapté pour vous et à apprendre oracle.
1.3.3 TransactionsUn des mecanismes les plus puissants des SGBD recents reside dans le systeme des transactions. Une transactionest un ensemble d’operations tomiques », c’est-a-dire indivisible. Nous considererons qu’un ensemble d’operations estindivisible si une execution partielle de ces instructions poserait des problemes d’integrite dans la base de donnees.Par exemple, dans le cas d’une base de donnees de gestion de comptes en banque, un virement d’un compte a un autrese fait en deux temps : crediter un compte d’une somme s, et debiter un autre de la m^eme somme s. Si une erreursurvient pendant la deuxieme operation, et que la transaction est interrompue, le virement est incomplet et le patronva vous assassiner.Il convient donc de disposer d’un mecanisme permettant de se proteger de ce genre de desagrement. Plut^ot quese casser la t^ete a tester les erreurs a chaque etape et a balancer des instructions permettant de
evenir en arriere »,nous allons utiliser les instructions COMMITetROLLBACK .Voici le squelette d’un exemple : / i n s t r u c t i o n s / IF/ e r r e u r / THEN ROLLBACK;ELSECOMMIT; END; LeROLLBACK annule toutes les modications faites depuis le debut de la transaction (donc depuis le precedentCOMMIT ),COMMIT les enregistre denitivement dans la base de donnees.La variable d’environnement AUTOCOMMIT, qui peut ^etre positionnee a ONou a OFFpermet d’activer la gestion destransactions. Si elle est positionnee a ON, chaque instruction a des repercussions immediates dans la base, sinon, lesmodications ne sont eectives qu’une fois qu’un COMMITa ete execute.9