Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Langage de Controle de Transaction

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

CM4-1 : Langage de contrôle de transaction (LCT)

Mickaël Martin-Nevot

V1.1.0 02/09/2018 16:28

Cette œuvre de
Cette œuvreMartin
Mickaël est mise à disposition
Nevot est mise àselon les termes
disposition deles
selon la termes de la
licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage à l'Identique
3.0 non transposé.
Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

I. Prés.
II. BD et SGBD
III. Merise
IV. LDD
V. LMD
VI. LCT
VII. Droits
VIII.LDSP
IX. SQL avancé

Utilisation des bases de données Mickaël Martin-Nevot - Laurent Carmigniac 1/6


Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

LCT
 Langage de contrôle de transaction
(transaction control language)
 Transaction : séquence atomique (ininterrompue)
d’actions sur une BD
 Sérialisation des transactions :

Utilisation des bases de données Mickaël Martin-Nevot - Laurent Carmigniac 2/6


Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Transaction
 Séquence atomique (ininterrompue) d’actions sur une BD
 Respecte les propriétés « ACID » : En cas d’échec, la suite
d’opération entière est annulée
 Atomicité : indivisible même si certaines ont réussi
 Cohésion : état cohérent en fin de transaction uniquement
mais pas obligatoirement durant la transaction
 Isolation : deux transactions parallèles ne prennent pas en
compte les modifications de l’autre
 Durabilité : état permanent des modifications de la
transaction
Même en cas de crash informatique, aucune annulation n’est possible

Utilisation des bases de données Mickaël Martin-Nevot - Laurent Carmigniac 3/6


Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Contrôle des transactions


 Les commandes COMMIT et ROLLBACK permettent
respectivement de valider et d’annuler toutes les
modifications intervenues :
 Depuis leur dernière invocation
 Depuis la dernière connexion à la BD
-- Virement d’argent.
BEGIN; -- Commence un block de transaction.
UPDATE Account SET balance = balance - 2000 WHERE ida = 1;
UPDATE Account SET balance = balance + 2000 WHERE ida = 2;
COMMIT; -- Valide la transaction courante.

Transactions implicites : langages autre que LMD

Ne concerne que l’utilisateur courant

Utilisation des bases de données Mickaël Martin-Nevot - Laurent Carmigniac 4/6


Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Contrôle des transactions


 Point de retour :
SAVEPOINT s1;
UPDATE Account SET balance = balance - 2000 WHERE ida = 1;
UPDATE Account SET balance = balance + 2000 WHERE ida = 2;
ROLLBACK s1;

Utilisation des bases de données Mickaël Martin-Nevot - Laurent Carmigniac 5/6


Prés. > BD et SGBD > Merise > LDD > LMD > LCT > Droits > LDSP > SQL avancé V1.1.0

Crédits
Auteur
Mickaël Martin
Martin-Nevot
Nevot
mmartin.nevot@gmail.com
mmartin.nevot@gmail.com

 Laurent Carmignac

Carte de visite électronique

Relecteurs

Cours en ligne sur : www.mickael-martin-nevot.com

Utilisation des bases de données Mickaël Martin-Nevot - Laurent Carmigniac 6/6

Vous aimerez peut-être aussi