Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
TRANSACTION Problèmes posés
Que se passe-t-il si une panne intervient au milieu d’un ordre DELETE (ou UPDATE ou INSERT) ? Que se passe-t-il si une panne intervient au milieu d’opérations indissociables comme débit/crédit ? Comment garantir quand on fait une réservation que la dernière place n’est pas prise en simultané par quelqu’un d’autre ?
2
Exemple d’opérations indissociables
Soit la table COMPTE(nom, solde) dans une banque UPDATE compte SET solde = solde – 1000 WHERE nom = ‘Grand Mère’; SET solde = solde WHERE nom = ‘Moi’;
3
Définition d’une transaction
Une transaction est une suite d'opérations effectuées comme une seule unité logique de travail. Une transaction est exécutée en tout ou rien. Si elle n’aboutit pas, aucune modification n’est prise en compte.
4
Lancer une transaction
Transaction implicite Début de la transaction = démarrage du logiciel Début de la transaction = fin de la transaction précédente Transaction explicite sur SQLServer, PostgreSQL BEGIN TRANSACTION
5
Fin d’une transaction Valider la transaction Commande COMMIT
Annuler la transaction Erreur en cours de transaction : pb de place disque… Commande ROLLBACK Annulation possible grâce au segment UNDO
6
Problèmes de concurrence
Règlés par la notion de transaction
7
Les verrous LOCK Mécanisme interne de mise en œuvre des transactions
Verrous exclusifs Verrous partagés Granularité du verrouillage base, table, ligne, page
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.