You are on page 1of 5

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), R3(C).
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,
S1 B= -1, C=1. và W1(A): A=C-A; W2(C): C=B-2C;
T1 T2 T3 W2(B): B= -2C; W3(B): B=2+B. Cho Ri,Wi thuộc Ti
Rc b. Viết lại các Transaction trên thỏa nghi thức khóa 2 pha.
Ra c. Lập 1 lịch S2 // (phi tuần tự) từ câu 2.
Rc
Ra
Rb
Bài làm (tham khảo)
Rb
a. Viết lại S1 như sau (cho dễ nhìn)
Wc
Wa
Wb + Các cặp xung đột:
Wb P1: (R1c;W2c)
Rb P2: (R3a;W1a)
Ra 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 S2
Ra Rc Ra T1 T2 T3
RLc WLb WLb RLa
Rc Rb ULa Ra
Wa Wc Rb WLb
RLb Wb Wb ULa
ULa RLa ULb WLa
ULc ULc Ra
Rb ULb RLc
ULb Ra Rc
ULa Wa
Rb
Wb
ULb
c. Lịch S2 phi tuần tự: RLb
ULa
ULc
WLc
Rc
Rb
ULb
WLb
Rb
Wc
Wb
RLa
ULc
ULb
Ra
ULa
Bài 2:
Cho 1 lịch nhật kí sau trong một hệ quản trị CSDL
S, T3
W, T3, E, 1, 11
S, T2
W, T3, A, -4, 1
W, T2, B, 1, -16
S, T1
COMMIT T2
COMMIT T3
CHECK POINT
S, T4
W, T4, C, 2, 3
COMMIT T4
S, T5
W, T5, D, -3, 0
S, T6
W, T5, A, 1, 5
COMMIT T5
Lỗi hệ thống.

a. Vẽ và giải thích đồ thị


b. Lập ds undo,redo và giải thích
c. Tính A, B,C,D sau khi undo,redo

--------------------
Bài giải (tham khảo)

a. Đồ thị
Giải thích: Tại thời điểm t1, Trans T3 start và commit tại thời điểm t5 trước checkpoint, tương
tự có T2.
T1 được start chưa commit thì xảy ra lỗi. T4, T5 start sau checkpoint nhưng cũng commit tại t7,
t10. Còn lại T6 chưa commit.

b. Danh sách
DS0 {T2, T3} đã commit trước checkpoint
DS1 {T4, T5} đã commit sau checkpoint. (lấy giá trị mới)
DS2 {T1, T6} chưa commit. (trả về giá trị cũ)

c. Tính
T3 ghi 11 -> E
T3 ghi 1 -> A
T2 ghi -16 -> B
T4 ghi 3 -> C
T5 ghi 0 -> D
T5 ghi 5 -> A
Do T1, T6 không ghi vào biến nào nên không có biến nào dc undo.
Vậy A=5, B=-16, C=3, D = 0

** Chú ý:
Giả sử đề thay đổi dòng cuối cùng
S, T6
W, T6, A, 1, 5
Thì T6 ghi 5 -> A nhưng do undo nên A = 1

You might also like