第二章 關係數據庫(二)

第二節 數據完整性規則

數據完整性是指數據的正確性和有效性。關係的完整性規則是確保關係的值必須滿足的約束條件。關係模型有3種完整性約束,即實體完整性,參照完整性和用戶定義完整性。其中實體完整性和參照完整性是所有關係數據庫都必須滿足的完整性規則,也稱爲關係完整性約束。關係完整性規則用於保證關係的主鍵與外鍵的取值必須是正確的和有效的。用戶定義完整性是用戶應用環境中需要遵循的特定約束條件,體現用戶應用環境中特殊的業務規則。
1.實體完整性
主鍵的值必須是唯一的和確定的,纔能有效地標識一個元組。實體完整性是指主鍵不能取空值。因爲空值不是0,也不是空字符串,是不確定值。
在關係數據庫系統中,一旦定義了主鍵和實體完整性,DBMS將會自動地維護實體完整性規則。當向表中插入一行數據時,若主鍵爲空值或者重複值,則系統將拒絕接受所插入的錯誤數據,併發出錯誤警告。
2.參照完整性
1.參照完整性的定義
參照完整性是指外鍵的值必須是被參照表主鍵的有效值,或者是“空值”。
如果外鍵存在一個值,則這個值必須是被參照表主鍵的有效值。換句話說,外鍵可以沒有值,但不允許是一個無效值。當兩個表之間設置參照完整性約束時,DBMS將自動拒絕執行違反參照完整性的操作
2.參照完整性的兩個選項
某些DBMS系統還提供了兩個參照完整性的選項,即“級聯更新相關字段”和“級聯刪除相關記錄”,用於處理在參照完整性約束下,允許刪除(或更新)父表中記錄的特殊要求。
◇級聯刪除相關記錄 選項
這個選項的功能稱爲級聯刪除。當刪除父表中的一個記錄(一行)時,將同時刪除子表中與被刪除記錄主鍵值匹配的所有行。
◇級聯更新相關字段選項
這個想象的功能稱爲級聯更新。當更新父表中某個主鍵值時,將同時更新子表中與這個主鍵值對應的所有外鍵值。
3.用戶定義完整性
所有關係數據庫都應該支持完整性和參照完整性,這是關係數據庫必須滿足的條件。除此之外,許多數據庫系統爲了滿足各種應用環境的特殊要求,還提供多種用戶定義完整性功能。用戶定義完整性是針對某一個特定數據庫的約束條件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章