Các hệ quản trị CSDL Các hệ quản trị CSDL

Bữa trước s mới post Bài tập 1, đây là bài tập tiếp theo, một dạng khác nữa, các bạn tham khảo nhen




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



Bài tập 1