複製鏈接
請複製以下鏈接發送給好友

用户自定義完整性

鎖定
用户自定義完整性指針對某一具體關係數據庫約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。
例如某個屬性必須取唯一值,某個非主屬性也不能取空值,某個屬性的取值範圍在0-100之間等
中文名
用户定義完整性
外文名
User-defined Integrity
釋    義
針對某具體關係數據庫的約束條件
特    點
數據必須滿足的語義要求

用户自定義完整性定義

用户自定義完整性是針對某一具體關係數據庫約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。主要包括非空約束、唯一約束檢查約束主鍵約束外鍵約束。

用户自定義完整性示例

圖1 用户自定義完整性 圖1 用户自定義完整性
某個屬性必須取唯一值、某個非主屬性也不能取空值的,如圖1職工關係中必須給出職工的姓名,就可以要求職工姓名不能取空值,某個屬性只能在某範圍內取值(如性別的取值只能取自“男”和“女”)。
要求“考查”課的分數以60分或40分計,在用户輸入“考查”課的成績時,要進行檢查,以確保滿足特定的約束要求。再如年齡屬性,如果屬於某一個學生主體,則可能要求年齡在17歲到25歲之間,而如果年輕屬性屬於某一個公司員工主體,則可能要求年齡在18歲到40歲之間等。 [1] 

用户自定義完整性發展變化

關係模型應提供定義和檢驗這一類完整性的機制,以便用統一的系統的方法處理它們,而不是由應用程序來承擔這一功能。在早期的RDBMS中沒有提供定義和檢驗這些完整性的機制,因此需要應用開發人員在應用系統的程序中進行檢查。而SQL server提供的統一完整性控制機制來實現約束,可降低應用程序複雜度

用户自定義完整性具體內容

用户定義完整性可以涵蓋實體完整性域完整性參照完整性等完整性類型。
實體完整性將行定義為特定表的唯一實體。實體完整性通過 UNIQUE 索引、UNIQUE 約束或 PRIMARY KEY 約束,強制表的標識符列或主鍵的完整性。 [2] 
參考資料