Đây là bài tập môn Các hệ quản trị CSDL s mới làm, nay post lên cho các bạn tham khảo. Nếu có gì sai sót các bạn góp ý hen.
Bài 1: Cho 3 giao tác T1,T2,T3 & 1 lịch S1
S1: R2(C), R1(A), R1(C), R3(A), R3(B), R2(B), W2(C), W1(A), W3(B), W2(B), R1(B), R2(A),
a. Cho biết S1 có khả tuần tự hay không? Tính A, B,C khi lịch S1 thực hiện xong, biết giá trị ban đầu A=2,
B= -1, C=1. và W1(A): A=C-A; W2(C): C=B-2C;
W2(B): B= -2C; W3(B): B=2+B. Cho Ri,Wi thuộc Ti
b. Viết lại các Transaction trên thỏa nghi thức khóa 2 pha.
c. Lập 1 lịch S2 // (phi tuần tự) từ câu 2.
Bài làm (tham khảo)
a. Viết lại S1 như sau (cho dễ nhìn)
S1 | ||
T1 | T2 | T3 |
Rc | ||
Ra | ||
Rc | ||
Ra | ||
Rb | ||
Rb | ||
Wc | ||
Wa | ||
Wb | ||
Wb | ||
Rb | ||
Ra |
+ Các cặp xung đột:
P1: (R1c;W2c)
P2: (R3a;W1a)
P3: (R3b;W2b)
P4: (R2b;W3b)
P5: (W1a;R2a)
P6: (W3b;W2b)
P7: (W3b;R1b)
P8: (W2b;R1b)
+ Sơ đồ từ các cặp xung đột: P1( 1 qua 2) …
Có chu trình => Phi tuần tự.
+ Tính : theo thứ tự lịch S1
W2c: C = B-2C = -1-2 = -3
W1a: A = C-A = -3 -2 = -5
W3b: B = 2+ (-1) = 1
W2b: B = -2.-3 = 6
b. Khóa 2 pha (ULx không đứng trước WLx, RLx)
S1 | ||
T1 | T2 | T3 |
WLa | WLc | RLa |
Ra | Rc | Ra |
RLc | WLb | WLb |
Rc | Rb | ULa |
Wa | Wc | Rb |
RLb | Wb | Wb |
ULa | RLa | ULb |
ULc | ULc | |
Rb | ULb | |
ULb | Ra | |
ULa |
c. Lịch S2 phi tuần tự:
S2 | ||
T1 | T2 | T3 |
RLa | ||
Ra | ||
WLb | ||
ULa | ||
WLa | ||
Ra | ||
RLc | ||
Rc | ||
Wa | ||
Rb | ||
Wb | ||
ULb | ||
RLb | ||
ULa | ||
ULc | ||
WLc | ||
Rc | ||
Rb | ||
ULb | ||
WLb | ||
Rb | ||
Wc | ||
Wb | ||
RLa | ||
ULc | ||
ULb | ||
Ra | ||
ULa |
0 Nhận xét