2010-08-27 228 views
2

海蘭, 我學習我的考試,就過來了以下問題:數據庫原理:事務串行化

乘坐History(或計劃)

H = w1[x] w2[x] w2[y] c2 w1[y] w3[x] w3[y] c3 w1[z] c1 

其中w1[x]指:交易1個寫入到數據對象X(r1[x]表示讀取)和c1表示:事務1提交。

爲什麼這筆交易view serializable

對於視圖序列化歷史H必須視圖等價於序列執行事務1,2,3。所以,futher,每個數據對象的最後寫操作必須是相同的歷史H.因此,H的最後寫入的事務的順序執行的有:X

  • TRANSATION 3 y和
  • TRANSATION 1針對z

但是,沒有順序執行的最後寫的分佈是這樣的,所以歷史H可不能圖序列化。

我的錯誤在哪裏?

謝謝大家。

回答

1

好了,發現自己:最後一句,如果當然是錯誤的:

事實上順序執行1,2,3導致了這段歷史:

w1[x] w1[y] w1[z] c1 w2[x] w2[y] c2 w3[x] w3[y] c3 

和follogint最後寫操作:

  • 事務3 x和y和
  • 事務1針對z

這與歷史記錄H的最後寫入相同