用戶自定義完整性

用戶自定義完整性

用戶自定義完整性指針對某一具體關係資料庫的約束條件,它反映某一具體套用所涉及的數據必須滿足的語義要求。 例如某個屬性必須取唯一值,某個非主屬性也不能取空值,某個屬性的取值範圍在0-100之間等

基本信息

定義

任何關係資料庫系統都應該支持實體完整性和參照完整性。除此之外,不同的關係資料庫系統根據其套用環境的不同,往往還需要一些特殊的約束條件,用戶定義的完整性就是針對某一具體關係資料庫的唯一約束條件。它反映某一具體套用所涉及的數據必須滿足的語義要求。

不同的套用有著不同的具體要求,這些約束條件就是用戶根據需要自己定義的。對於這類完整性,關係模型只提供定義和檢驗這類完整性的機制,以使用戶能夠滿足自己的需求,而關係模型自身並不去定義任何這類完整性規則 。

示例

用戶自定義完整性 用戶自定義完整性

某個屬性必須取唯一值、某個非主屬性也不能取空值的,如右圖職工關係中必須給出職工的姓名,就可以要求職工姓名不能取空值)、某個屬性只能在某範圍內取值(如性別的取值只能取自“男”和“女”)。

要求“考查”課的分數以60分或40分計,在用戶輸入“考查”課的成績時,要進行檢查,以確保滿足特定的約束要求。再如年齡屬性,如果屬於某一個學生主體,則可能要求年齡在17歲到25歲之間,而如果年輕屬性屬於某一個公司員工主體,則可能要求年齡在18歲到40歲之間等。

發展變化

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

具體內容

用戶定義完整性可以涵蓋實體完整性、域完整性、參照完整性等完整性類型。

實體完整性將行定義為特定表的唯一實體。實體完整性通過 UNIQUE 索引、UNIQUE 約束或 PRIMARY KEY 約束,強制表的標識符列或主鍵的完整性。

相關詞條

相關搜尋

熱門詞條

聯絡我們