易學筆記-系統分析師考試-第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:違反完整性規則時觸發的過程
- 觸發器
概念:一個事件的發生必然觸發另外一個事件的發生,前一個事件為觸發事件,後一個事件為結果事件
作業過程:一般為資料的插入、修改、刪除操作
優點:除了保證完整性之外,還有安全性保護功能