Vous êtes sur la page 1sur 2

FICHE DE TD

Exercice 1 :
Quelles sont parmi les exécutions suivantes celles qui produisent des anomalies ?
ai signifie que la transaction i est annulée
ci signifie que la transaction i est validée
1. r1(x), w1(x), r2(x), w2(y), a1, c2
2. r1(x), w1(x), r2(y), w2(y), a1, c2
3. r1(x), r2(x), r2(y), w2(y),r1(z), a1, c2
4. r1(x), r2(x), w2(x),w1(x), c1, c2
5. r1(x), r2(x), w2(x), r1(y), c1, c2
6. r1(x), w1(x), r2(x), w2(x), c1, c2

Exercice 2 :
Quelles sont, ci-dessous, les exécutions sérialisables ?
1. r1(x), r2(y), w1(y), r2(x), w2(x)
2. r1(x), r2(y), w1(x), w1(y), r2(x), w2(x)
3. r1(x), r1(y), r2(y), w2(z), w1(z), w3(z), w3(x)
4. r1(y), r1(y), w2(z), w1(z), w3(z), w3(x),w1(x)

Exercice 3:
1. Soient T1, T2, T3, T4, T5 cinq transactions et x, y, z, t quatre granules de la base. Ei(x) veut dire
“écriture du granule x par la transaction Ti”, Li(x) veut dire “lecture du granule x par la transaction
Ti”. Soit EX1 l’exécution de T1, T2, T3, T4, T5 suivante :
EX1 :
(1) L4(z), (2) E5(x), (3) E4(x), (4) L5(y), (5) E3(t), (6) L2(x),
(7) E5(y), (8) E4(y), (9) L3(t), (10) E3(z), (11) L4(x), (12) L3(z), (13) E1(z),
(14) E1(y), (15) E2(y), (16) L1(z), (17) L2(y), (18) E2(t), (19) L1(x),
(20) E2(x), (21) L2(t), (22) L2(z)

Construire le graphe de précédence de l’exécution EX1. Ajouter aux arcs ou flèches qui
représentent une précédence le(s) granule(s) pour le(s)quel(s) cette précédence existe.

Exercice 4 :
On considère les trois transactions suivantes T1; T2 et T3.
T1 : r1(X); r1(Z);w1(X);
T2 : r2(Z); r2(Y);w2(Z);w2(Y);
T3 : r3(X); r3(Y);w3(Y);
Pour chacun des ordonnancements S1 et S2 ci-dessous,
- dites si l’ordonnancement est sérialisable ;
- dans le cas où l’ordonnancement est sérialisable, donnez l’ordonnancement sériel équivalent.
S1 : r1(X); r2(Z); r1(Z); r3(X); r3(Y );w1(X);w3(Y ); r2(Y );w2(Z);w2(Y );
S2 : r1(X); r2(Z); r3(X); r1(Z); r2(Y ); r3(Y );w1(X);w2(Z);w3(Y );w2(Y );
Exercice 5 :
a) Soit l'ordonnancement suivant :
Temps Transaction T1 État de la BD Transaction T2
t1 DébutTransaction A = 10, B = 20
t2 Lire(A, a)
t3 DébutTransaction
t4 Lire(B, b)
t5 Lire(B, b)
t6 Lire(A, a)
t7 b := a/2
t8 a := a+b
t9 Écrire(b, B) B=5
t10 A=30 Écrire(a, A)
t11 ConfirmerTransaction
t12 ConfirmerTransaction
Cet ordonnancement est-il sérialisable ? Si oui, donnez un ordonnancement
séquentiel équivalent.
b) Soit l'ordonnancement suivant :
Temps Transaction T1 État de la BD Transaction T2
t1 DébutTransaction A = 10, B = 20
t2 Ver(A, X)
t3 Lire(A, a)
t4 Dev(A)
t5 DébutTransaction
t6 Ver(B, X)
t7 Lire(B, b)
t8 Dev(B)
t9 Ver(B, X)
t10 Lire(B, b)
t11 Ver(A, X)
t12 Lire(A, a)
t13 b := a/2
t14 a := a+b
t15 Écrire(b, B) B=5
t16 Dev(B)
t17 A = 30 Écrire(a, A)
t18 Dev(A)
t19 ConfirmerTransaction
t20 ConfirmerTransaction
Obtient-on un ordonnancement sérialisable ? Si oui, donnez un ordonnancement
séquentiel équivalent.

Vous aimerez peut-être aussi