L2A Semestre 4 Mehdi Benzine L2A Semestre 4 Mehdi Benzine Introduction (1) Les
L2A Semestre 4 Mehdi Benzine L2A Semestre 4 Mehdi Benzine Introduction (1) Les accès concurrents à une base de données peuvent engendrer des conflits. La réalisation d'opérations logiques regroupant plusieurs opérations atomiques doit être réalisable. Compte (num_compte, nom, solde) Virement de 1000DA du compte 101 au compte 106: update compte set solde = solde - 1000 where num_compte = 101; update compte set solde = solde + 1000 where num_compte = 106; Les accès concurrents à une base de données peuvent engendrer des conflits. La réalisation d'opérations logiques regroupant plusieurs opérations atomiques doit être réalisable. Compte (num_compte, nom, solde) Virement de 1000DA du compte 101 au compte 106: update compte set solde = solde - 1000 where num_compte = 101; update compte set solde = solde + 1000 where num_compte = 106; Les accès concurrents à une base de données peuvent engendrer des conflits. La réalisation d'opérations logiques regroupant plusieurs opérations atomiques doit être réalisable. Compte (num_compte, nom, solde) Virement de 1000DA du compte 101 au compte 106: update compte set solde = solde - 1000 where num_compte = 101; update compte set solde = solde + 1000 where num_compte = 106; 2 update compte set solde = solde - 1000 where num_compte = 101; PANNE update compte set solde = solde + 1000 where num_compte = 106; Introduction (2) Les données présentes dans la base de données doivent vérifier toutes les contraintes d'intégrité déclarées sur cette base de données. Pour avoir une vision cohérente de la base de données lors de sa manipulation, un utilisateur ne doit pas voir les modifications apportés par les autres utilisateurs qui manipulent la base de données en même temps que lui. Les mises à jours apportées à une base de données doivent être permanentes et ne pas disparaitre même en cas de panne logicielle ou matérielle. Les données présentes dans la base de données doivent vérifier toutes les contraintes d'intégrité déclarées sur cette base de données. Pour avoir une vision cohérente de la base de données lors de sa manipulation, un utilisateur ne doit pas voir les modifications apportés par les autres utilisateurs qui manipulent la base de données en même temps que lui. Les mises à jours apportées à une base de données doivent être permanentes et ne pas disparaitre même en cas de panne logicielle ou matérielle. Les données présentes dans la base de données doivent vérifier toutes les contraintes d'intégrité déclarées sur cette base de données. Pour avoir une vision cohérente de la base de données lors de sa manipulation, un utilisateur ne doit pas voir les modifications apportés par les autres utilisateurs qui manipulent la base de données en même temps que lui. Les mises à jours apportées à une base de données doivent être permanentes et ne pas disparaitre même en cas de panne logicielle ou matérielle. 3 Transaction Une transaction est une unité de mises à jour composée d'opérations qui doivent toutes être exécutées ou pas du tout. Toute transaction peut être à tout moment : Validée (COMMIT) Annulée (ABORT, ROLLBACK) Toutes les modifications effectuées par une transaction annulée doivent être défaites (annulées) Une transaction est une unité de mises à jour composée d'opérations qui doivent toutes être exécutées ou pas du tout. Toute transaction peut être à tout moment : Validée (COMMIT) Annulée (ABORT, ROLLBACK) Toutes les modifications effectuées par une transaction annulée doivent être défaites (annulées) Une transaction est une unité de mises à jour composée d'opérations qui doivent toutes être exécutées ou pas du tout. Toute transaction peut être à tout moment : Validée (COMMIT) Annulée (ABORT, ROLLBACK) Toutes les modifications effectuées par une transaction annulée doivent être défaites (annulées) 4 Propriétés ACID Une transaction doit garantir les propriétés suivantes: Atomicité: Toutes les opérations d'une transaction doivent être exécutées ou pas du tout. Cohérence: Une transaction doit faire passer la base de données d'un état cohérent vers un autre état cohérent. Isolation: Les mises à jour apportées par une transaction ne doivent être visibles aux autres transactions qu'une fois la première terminée et validée. Durabilité: Les effets d'une transaction validée ne doivent pas être perdus. Une transaction doit garantir les propriétés suivantes: Atomicité: Toutes les opérations d'une transaction doivent être exécutées ou pas du tout. Cohérence: Une transaction doit faire passer la base de données d'un état cohérent vers un autre état cohérent. Isolation: Les mises à jour apportées par une transaction ne doivent être visibles aux autres transactions qu'une fois la première terminée et validée. Durabilité: Les effets d'une transaction validée ne doivent pas être perdus. Une transaction doit garantir les propriétés suivantes: Atomicité: Toutes les opérations d'une transaction doivent être exécutées ou pas du tout. Cohérence: Une transaction doit faire passer la base de données d'un état cohérent vers un autre état cohérent. Isolation: Les mises à jour apportées par une transaction ne doivent être visibles aux autres transactions qu'une fois la première terminée et validée. Durabilité: Les effets d'une transaction validée ne doivent pas être perdus. 5 Atomicité Une transaction étant une unité d'opérations sur une base de données, l'annulation d'une transaction doit conduire à l'annulation de tous ses effets (modifications) sur la base de données. Le SGBD doit conserver l'historique des modifications non encore validées pour pouvoir les restaurer les données originales au cas où la transactions ayant effectué ces modifications a été annulée. Une transaction étant une unité d'opérations sur une base de données, l'annulation d'une transaction doit conduire à l'annulation de tous ses effets (modifications) sur la base de données. Le SGBD doit conserver l'historique des modifications non encore validées pour pouvoir les restaurer les données originales au cas où la transactions ayant effectué ces modifications a été annulée. Une transaction étant une unité d'opérations sur une base de données, l'annulation d'une transaction doit conduire à l'annulation de tous ses effets (modifications) sur la base de données. Le SGBD doit conserver l'historique des modifications non encore validées pour pouvoir les restaurer les données originales au cas où la transactions ayant effectué ces modifications a été annulée. 6 Cohérence Une transaction doit faire passer une base de données d'un état cohérent à un autre état cohérent. Un état cohérent est un état où toutes les contraintes d'intégrité sont respectées. Oracle propose de vérifier chaque contrainte d'intégrité : Au moment de la modification des données (par défaut) Au moment de la validation de la transaction (clause DEFERRABLE INITIALLY DEFERRED) CREATE TABLE compte (num_compte INTEGER PRIMARY KEY, nom VARCHAR2(50), Solde NUMBER(10,2) CHECK(Solde >= 0) DEFERRABLE INITIALLY DEFERRED); Une transaction doit faire passer une base de données d'un état cohérent à un autre état cohérent. Un état cohérent est un état où toutes les contraintes d'intégrité sont respectées. Oracle propose de vérifier chaque contrainte d'intégrité : Au moment de la modification des données (par défaut) Au moment de la validation de la transaction (clause DEFERRABLE INITIALLY DEFERRED) CREATE TABLE compte (num_compte INTEGER PRIMARY KEY, nom VARCHAR2(50), Solde NUMBER(10,2) CHECK(Solde >= 0) DEFERRABLE INITIALLY DEFERRED); Une transaction doit faire passer une base de données d'un état cohérent à un autre état cohérent. Un état cohérent est un état où toutes les contraintes d'intégrité sont respectées. Oracle propose de vérifier chaque contrainte d'intégrité : Au moment de la modification des données (par défaut) Au moment de la validation de la transaction (clause DEFERRABLE INITIALLY DEFERRED) CREATE TABLE compte (num_compte INTEGER PRIMARY KEY, nom VARCHAR2(50), Solde NUMBER(10,2) CHECK(Solde >= 0) DEFERRABLE INITIALLY DEFERRED); 7 Isolation Chaque utilisateur doit avoir l'impression d'être la seul à manipuler la base de données à un instant donné. Les effets d'une transaction ne deviennent visibles aux autres transactions qu'après sa validation. Le SGBD doit conserver l'historique des données pour pouvoir fournir à chaque transaction la version des données qui lui correspondent. Chaque utilisateur doit avoir l'impression d'être la seul à manipuler la base de données à un instant donné. Les effets d'une transaction ne deviennent visibles aux autres transactions qu'après sa validation. Le SGBD doit conserver l'historique des données pour pouvoir fournir à chaque transaction la version des données qui lui correspondent. Chaque utilisateur doit avoir l'impression d'être la seul à manipuler la base de données à un instant donné. Les effets d'une transaction ne deviennent visibles aux autres transactions qu'après sa validation. Le SGBD doit conserver l'historique des données pour pouvoir fournir à chaque transaction la version des données qui lui correspondent. 8 Durabilité Les effets d'une transaction validée doivent être permanents même en cas de panne. Le SGBD doit conserver en permanence sur une mémoire secondaire (disque dur, mémoire flash …) les effets des transactions validées. Ceci ne peut être garanti sans redondance matérielle (copie des données sur plusieurs disques, RAID…). Les effets d'une transaction validée doivent être permanents même en cas de panne. Le SGBD doit conserver en permanence sur une mémoire secondaire (disque dur, mémoire flash …) les effets des transactions validées. Ceci ne peut être garanti sans redondance matérielle (copie des données sur plusieurs disques, RAID…). Les effets d'une transaction validée doivent être permanents même en cas de panne. Le SGBD doit conserver en permanence uploads/Finance/ bd-cours9-transactions.pdf
Documents similaires
-
13
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 08, 2021
- Catégorie Business / Finance
- Langue French
- Taille du fichier 5.5799MB