資料庫完整性

2021-08-24 22:29:05 字數 620 閱讀 1645

[b]更新丟失:[/b]當有兩個寫程序同時修改相同的資料時,往往會出現乙個寫程序做的修改覆蓋了另乙個寫程序的修改。這種情況是完整性問題最常見的型別。互斥鎖的設計就是防範這種問題的出現。

[b]髒讀:[/b]乙個事務修改的資料在提交前被另乙個事務讀取,就會發生髒讀。由於事務提交的修改有可能會被回滾,因而其他事務讀取的這個資料就可能不正確。為了避免讀鎖導致的競爭,許多資料庫都允許髒讀。

[b]不可重複讀:[/b]由於其他事務的修改,可能出現不可重複的讀。例如乙個事務根據某個條件做查詢。當這個事務得到返回結果集之後,但是在這個事務完成之前,另乙個事務修改了資料,使得某些資料不再滿足前乙個事務的查詢條件。如果這個時候前乙個事務重複這乙個查詢操作,那麼他將得到乙個不同的結果集。因而針對最初的結果集所做的修改有可能就無效了。簡言之,根據同樣的條件在同一事務中查詢兩次有可能產生不同的結果。

[b]幻影讀:[/b]這型別的問題也是由於其他事務對資料的修改而導致的。例如,乙個事務根據某個條件做查詢。在前乙個事務得到返回結果集之後,但是在他完成之前,另乙個事務在資料庫中插入了一條資料,並且該條資料符合前乙個事務的選擇條件,如果事務中的第一條sql語句返回了最初滿足選擇條件的行,之後該事務對滿足條件的這些行執行操作,這個操作所涉及到的行與之前查詢到的行不同,這就因為包含了幻影行而導致的。

資料庫完整性

完整性約束條件 實體完整性給出了主鍵的取值的最低約束條件 規則是 主鍵的各個屬性都不能為空。參照完整性給出了在關係之間建立正確的聯絡的約束條件 規則是 外來鍵或者取空值 此時要求外來鍵的各個屬性均為空值 或者等於被參照關係中的主鍵的某個值。使用者自定義完整性 關係數控應用系統中的關係往往還應該滿足一...

資料庫完整性

資料的完整性和安全性 資料庫的完整性和安全性是兩個既有聯絡又不盡相同的概念。資料的完整性是為了防止資料庫中存在不符合語義的資料,也就是防止資料庫中存在不正確的資料。資料的安全性是保護資料庫防止惡意破壞和非法訪問。完整性檢查和控制的防範物件是不合語義的 不正確的資料,防止它們進入資料庫。安全性控制的方...

資料庫 完整性

一 實驗目的 1 掌握資料庫約束的概念 2 熟悉sql server 的完整性約束技術。3 了解sql server 的違反完整性處理措施。二 實驗環境 sql server2014 三 實驗內容 1.在前幾次實驗所使用的資料庫中新建乙個教師資訊表,表名為teacher,字段包括tno 教師編號 t...