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

cac he quan tri csdl - bai tap 1 Các hệ quản trị CSDL

Đâ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), 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, 
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









































Bài tập 2
SHARE
    Blogger Comment
    Facebook Comment

16 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. mình thấy một số bài có câu tìm lịch tuần tự tương đương, bạn chỉ mình làm bằng bài tập của bạn đi:)

    ReplyDelete
  3. vẫn chưa hiểu gì cả :(. Nhưng thanks bạn vì đã giúp đỡ.

    ReplyDelete
  4. bạn giải thích cho mình chỗ này đi:
    Ta thấy T1 trước T2, T3 trước T1... Vậy lịch tuần tự tương đương là T3 > T1 > T2.

    ReplyDelete
  5. thanks bạn vì đã giúp mình nhiều nha:X

    ReplyDelete
  6. Bạn ơi câu a) bạn làm thiếu R3C hay sao á, hay là bạn viết dư đề :S

    ReplyDelete
  7. Cám ơn @Nặc danh đã góp ý nhé, do mh viết dư đề.

    ReplyDelete
  8. Câu A chuẩn rồi. Nhưng sơ đồ các cặp xung đột nên ghi xung đột trên A, B hay C sẽ rõ ràng hơn. Vd: Mũi tên từ 1->2 ghi C,A; 2->1 ghi B,...
    Một số góp ý của mình. Thanks bạn! =D:

    ReplyDelete
  9. Bạn ơi...khóa 2 pha không cần ghi theo thứ tự trước sau hả bạn? Bạn có tài liệu nào về khóa 2 pha share mình với. Cảm ơn bạn !

    ReplyDelete
  10. Lập 1 lịch S2 phi tuần tự từ câu 2 làm ntn vậy bạn?

    ReplyDelete
  11. Bạn ơi...cho mình hỏi. Nếu ng ta bảo viết lại thõa nghi thức khóa 2 pha thì mình k cần theo thứ tự. Còn nếu bảo lập lịch song song thõa nghi thức khóa 2 pha thì phải viết theo thứ tự đúng k bạn?

    ReplyDelete
  12. Bạn ơi mình có thắc mắt hơi gà một tí đó là như bạn nói "Trong 1 transaction, trạng thái ULx không được đứng trước bất kì một RLx hoặc WLx nào cả." Như vậy thì trong câu b) ở transaction T3 có phần Ula đứng trước Wb là sao hả bạn, mình vẫn chưa rành lắm về kháo 2 pha này, bạn có thể nói rõ hơn một chút về vấn đề này được không? thanks ban :x

    ReplyDelete
  13. Chào bạn, bạn có bài tập nào về khóa chia sẽ độc quyền không, mình thấy một số đề thi cũng hay ra dạng này, anh em sẽ rất thanks bạn đấy, hihi.

    ReplyDelete
  14. Chào bạn, nếu như vậy thì Ulx cũng có thể đứng sau Wx đúng không. Ah, khóa chia sẽ độc quyền khác kháo 2 pha chỗ nào vậy bạn? Thanks bạn

    ReplyDelete
  15. câu 3 là sao mà T3 lại thực hiện trước z ban :D

    ReplyDelete
  16. Câu a sai phần kết quả. A bằng -1 mới đúng vì C được đọc trước khi W(c) thực hiện.

    ReplyDelete