Các hệ quản trị CSDL - Bài tập 2

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
SHARE
    Blogger Comment
    Facebook Comment

2 comments :

  1. thanks bạn nhiều nha, mong bạn post nhiều bài tập dạng này nữa :X

    ReplyDelete
  2. Tính giá trị A,B,C,D có nhầm không bạn?
    tính giá trị sau khi undo và redo thì phải trả giá trị về thời điểm check point chứ. Như thế thì A=1;B=-16;C=2;D=-3.

    ReplyDelete