Cours bases de données avancées, tutoriel & guide de travaux pratiques en pdf.
Atomicité, cohérence
• Atomicité: une transaction s’exécute soit en totalité soit pas du tout – Une exécution partielle de la transaction est inacceptable – Une transaction qui ne peut pas se terminer doit être annulée – L’annulation (Rollback) peut venir: • du programme: l’annulation du débit si solde insuffisant • du système: blocage ou incohérence dans l’exécution concurrente – Annulation annulation de toutes les modifications (écritures).
• Cohérence: une transaction respecte les contraintes d’intégrité de la BD – Les contraintes expriment la cohérence de la BD • Contraintes sur les données: compte.solde ≥ 0, en permanence • Contraintes sur les opérations: dans un transfert entre deux comptes source.solde + dest.solde = constant – Une transaction mène la BD d’un état cohérent vers un autre état cohérent • Pendant la transaction l’état peut être incohérent!
Cours BDA (UCP/M1): Concurrence et reprise 8
Isolation, durabilité
• Isolation: une transaction ne voit pas les effets des autres transactions qui s’exécutent en même temps – Les écritures des autres transactions en cours sur les données manipulés par la transaction en question ne sont pas visibles – C’est comme si chaque transaction s’exécutait toute seule dans le SGBD – Conséquence: l’exécution de plusieurs transactions concurrentes est équivalente à une exécution séparée, en série des transactions.
• Durabilité: les effets d’une transaction validée ne sont jamais perdus – On ne doit pas annuler une transaction validée.