1. 程式人生 > >易學筆記-系統分析師考試-第5章 資料庫系統/5.4 資料庫控制功能/5.4.3 資料庫的完整性

易學筆記-系統分析師考試-第5章 資料庫系統/5.4 資料庫控制功能/5.4.3 資料庫的完整性

  • 完整性約束條件

概念:是指資料庫中資料本身的某些語法或者語義限制、資料之間的邏輯約束以及資料變化時應該遵守的規則等

約束表達形式:通常以謂詞邏輯形式表示:原子公式、命題連線詞(並且、或者、否則等)

約束物件:關係、元組、屬性

約束分類

靜態約束

概念:資料庫中資料本身的某些語法或者語義限制、資料之間的邏輯約束

分類:

靜態屬性級約束

資料格式約束

對取值範圍約束

取值集合約束

對空值約束

靜態元組約束

靜態關係約束

實體完整性約束

參照完整性約束

函式依賴約束

統計約束

動態約束

概念:資料變化時遵守的規則

分類

動態屬性級約束

修改屬性定義約束

修改屬性值約束

動態元組約束

動態關係約束

  • 實體完整性:要求主鍵中的任一屬性不能為空
  • 參照完整性

概念:關係R(被參照關係)的主鍵FK是關係S(引數關係)中主鍵PK的一部分或者全部,也即是S中某主鍵的取值必須在R中存在

舉例:

關於參照完整性刪除方式:

級聯刪除:將R中要刪除的記錄對應的主鍵值也在S中執行刪除,如果S中還有外來鍵也同樣進行級聯操作

受限刪除:這是系統預設刪除方式,讓S中沒有任何元組的外來鍵值等於R中要刪除的主鍵值時,系統才允許刪除

置空刪除:把S中相應外來鍵值置為空,然後刪除被引數關係的元組

關於參照完整性插入方式:

受限插入:當R中存在相同的元組時才允許在S中插入

遞迴插入:先往R中插入值再向S中插入對應值

  • 使用者定義的完整性

概念:使用者定義的完整性是針對某一個具體資料庫的約束性

分類

立即執行約束:一條語句執行完成後立即檢查

延遲執行約束:整個事務執行結束後再進行檢查

定義完整性的五元組(D,O,A,C,P)

D:表示約束的物件

O:觸發的資料庫操作

A:物件必須滿足的語義條件

C:A對應的謂詞

P:違反完整性規則時觸發的過程

  • 觸發器

概念:一個事件的發生必然觸發另外一個事件的發生,前一個事件為觸發事件,後一個事件為結果事件

作業過程:一般為資料的插入、修改、刪除操作

優點:除了保證完整性之外,還有安全性保護功能