資料庫一致性

資料庫一致性

資料庫一致性(Database Consistency)是指事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。保證資料庫一致性是指當事務完成時,必須使所有數據都具有一致的狀態。在關係型資料庫中,所有的規則必須套用到事務的修改上,以便維護所有數據的完整性。

基本介紹

  • 中文名:資料庫一致性
  • 外文名:Database consistency
  • 目的:維護所有數據的完整性
  • 特點:讀一致性
簡介,特點,

簡介

保證資料庫的一致性是資料庫管理系統的一項功能.比如有兩個表(員工\職位),員工表中有員工代碼、姓名、職位代碼等屬性,職位表中有職位代碼、職位名稱、職位等級等屬性。你在其中員工表中進行了插入操作,你插入了一個新員工的信息,而這個新員工的職位是公司新創建的一個職位。如果沒有一致性的保證,就會出現有這么一個員工,但是不知道他到底擔當什麼職責!這個只是它的一個小小方面。

特點

讀一致性也是資料庫一致性的一個重要方面,在實際中,我們會遇到這種情況:我們對一個表中的某些數據進行了更新操作,,但是還沒有進行提交,這時另外一個用戶讀取表中數據.這個時候就出現了讀一致性的問題:到底是讀什麼時候的數據呢?是更新前的還是更新後的?在DBMS中設有臨時表,它用來保存修改前的值,在沒有進行提交前讀取數據,會讀取臨時表中的數據,這樣一來就保證了數據是一致的.(當前用戶看到的是更新前的值)
但是還有一種情況:用戶user1對表進行了更新操作,用戶user2在user1還沒有進行提交前讀表中數據,而且是大批量的讀取(打個比方:耗時3分鐘)而在這3分鐘內user1進行了提交操作,那又會產生什麼影響呢?這個時候怎么保證讀寫一致性呢?這個時候DBMS就要保證有足夠大的臨時表來存放修改前的數值,,以保證user2讀取的數據是修改前的一致數據.然後下次再讀取時候就是更新後的數據了.

相關詞條

熱門詞條

聯絡我們