關於事務的ACID屬性中的“C”與“I”

lawzjf發表於2006-09-18

C的含義一般有兩種,一是consistency,二是correctness,第一種是大多數書籍上的說法,第二種是C. J Date的經典資料庫教材An Introduction to Database Systems 中的說法,第二種說法更合適。

consistency:表中的資料要滿足表上的約束,這在每個命令執行時,DBMS就會保證,不用事務再做進一步的處理。而約束不能保證修改後的資料都是正確的,只是完成初步的正確性檢查。

correctness:保證事務完成後,把資料庫從一個正確狀態改變到另外一個正確狀態。

I是isolation的簡寫,指事務之間是隔離的,也就是,雖然可能有多個事務在併發執行,但是一個事務的updates操作結果在commit之前對於其他事務來說是隱藏的。具體來說,兩個事務A和B,A可以看到B commit後的的updates,B也可以在A commit後看到A的updates,但是不可能兩者同時看到彼此的updates。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/37724/viewspace-152552/,如需轉載,請註明出處,否則將追究法律責任。

相關文章