I.3. Gestion des
transactions
I.3.1. INTRODUCTION
Une transaction est un ensemble d'opérations
cohérentes et fiables menées sur une base de données qui
la transforme d'un état stable et cohérent en un autre
état stable et cohérent. C'est un ensemble d'ordres SQL.
Une transaction est constituée de quatre types
d'opérations qui sont : le début, l'écriture, la lecture
et la fin (terminaison).
Une transaction peut ou ne pas arriver à son terme,
elle peut être interrompu pour diverses raisons. Pour assurer la
cohérence de la base de données, il y a quatre ordres de
transaction :
Begin : cet ordre permet de démarrer
de manière explicite une transaction.
Commit : permet de mettre fin avec
succès à une transaction, c'est-à-dire la conservation de
l'ensemble de modifications effectuées dans la transaction.
Roll back : permet de terminer une
transaction en annulant toutes les modifications de données
effectuées.
Save : permet de définir un point
d'arrêt, donc donne la possibilité d'annuler une partie de la
transaction en cours. Il est possible de définir plusieurs points
d'arrêt sur une même transaction.
I.3.2.
PROPRIÉTÉS
La cohérence et la fiabilité d'une transaction
sont garanties par quatre propriétés :
a. Atomicité
La transaction ne peut pas être divisée en une
partie qui réussit et une autre qui échoue, donc tout ou rien.
On rencontre deux types de problèmes durant
l'exécution de la transaction :
ü La transaction peut s'interrompre
d'elle-même ;
ü La transaction peut également être
interrompue en raison d'une panne du système réseau.
b. Cohérence
Une fois qu'une transaction prend fin ou termine, la base de
données rentre de nouveau à un état cohérent.
c. Isolation
Lorsqu'une transaction considère que, pendant son
exécution, les données qu'elle manipule ne sont pas
modifiées par une autre transaction.
d. Durabilité
Lorsque les modifications opérées par la
transaction sont enregistrées de façon permanente (et
recouvrables en cas de reconstruction de la base).
I.3.3. DIFFÉRENT NIVEAU
DE FRAGMENTATION DE LA RÉPARTITION
La transparence est la caractéristique principale d'un
système distribué dans lequel l'utilisateur doit se voir
travailler sur un énorme ordinateur personnel constitué de tous
les ordinateurs connectés.
Nous distinguons plusieurs niveaux de transparence de
répartition qui sont indépendantes du programme d'application de
la répartition :
a. Transparence globale
La transparence globale définit toutes les
données contenues dans la base de données réparties comme
si cette base était définie exactement comme dans une base de
données non réparties.
b. Transparence de fragmentation
Une relation globale peut être répartie en
plusieurs fragments, une transparence de fragmentation définit une
fonction entre la relation globale et les fragments.
Cette fonction est multivaluée c'est à dire
plusieurs fragments correspondent à une relation globale, mais une seule
relation globale correspond à un seul fragment.
c. Transparence d'allocation
Les fragments sont des portions logiques des relations
globales qui sont uniquement situées dans un ou plusieurs sites du
réseau. La transparence d'allocation définit le site dans lequel
est situé un fragment. La relation définit dans la transparence
d'allocation détermine si la base de données répartie est
redondante ou pas.
d. Transparence conceptuelle locale
Transparence conceptuelle locale définit une fonction
qui associe chaque image physique aux objets qui sont manipulés par les
systèmes de gestion de base de données locaux. Cette transparence
dépend du type de système de base de données locale.
|