MS SQL入門基礎 資料完整性概述

2022-03-02 17:17:19 字數 1318 閱讀 3502

資料庫中的資料是從外界輸入的,而資料的輸入由於種種原因,會發生輸入無效或錯誤資訊。保證輸入的資料符合規定,成為了資料

庫系統,尤其是多使用者的關係資料庫系統首要關注的問題。資料完整性因此而提出。本章將講述資料完整性的概念及其在sql server 中的實現方法。

資料完整性(data integrity)是指資料的精確性(accuracy) 和可靠性(reliability)。它是應防止資料庫中存在不符合語義規定的資料和防止因錯誤資訊的輸入輸出造成無效操作或錯誤資訊而提出的。資料完整性分為四類:實體完整性(entity integrity)、域完整

性(domain integrity)、參照完整性(referential integrity)、使用者定義的完整性(user-definedintegrity)。

9.1.1 實體完整性(entity integrity)

實體完整性規定表的每一行在表中是惟一的實體。表中定義的unique primarykey 和identity 約束就是實體完整性的體現。

9.1.2 域完整性(domain integrity)

域完整性是指資料庫表中的列必須滿足某種特定的資料型別或約束。其中約束又包括取值範圍、精度等規定。表中的check、foreign key 約束和default、 not null定義都屬於域完整性的範疇。

9.1.3 參照完整性(referential integrity)

參照完整性是指兩個表的主關鍵字和外關鍵字的資料應對應一致。它確保了有主關鍵字的表中對應其它表的外關鍵字的行存在,即保證了表之間的資料的一致性,防止了資料丟失或無意義的資料在資料庫中擴散。參照完整性是建立在外關鍵字和主關鍵字之間或外關鍵字和惟一性關鍵字之間的關係上的。在sql server 中,參照完整性作用表現在如下幾個方面:

禁止在從表中插入包含主表中不存在的關鍵字的資料行;

禁止會導致從表中的相應值孤立的主表中的外關鍵字值改變;

禁止刪除在從表中的有對應記錄的主表記錄。

9.1.4 使用者定義的完整性(user-defined integrity)

不同的關係資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。使用者定義的完整性即是針對某個特定關聯式資料庫的約束條件,它反映某一具體應用所涉及的資料必須滿足的語義要求。sql server 提供了定義和檢驗這類完整性的機制,以便用統一的系統方法來處理它們,而不是用應用程式來承擔這一功能。其它的完整性型別都支援使用者定義的完整性。

sql server 提供了一些工具來幫助使用者實現資料完整性,其中最主要的是:規則(rule)、預設值(default)、約束(constraint) 和觸發器(trigger)。其中約束在前面的章節中已經介紹,觸發器將在後面的章節中介紹。本章將介紹規則和預設值。

MS SQL入門基礎 資料完整性概述

資料庫中的資料是從外界輸入的,而資料的輸入由於種種原因,會發生輸入無效或錯誤資訊。保證輸入的資料符合規定,成為了資料 庫系統,尤其是多使用者的關係資料庫系統首要關注的問題。資料完整性因此而提出。本章將講述資料完整性的概念及其在sql server 中的實現方法。資料完整性 data integrit...

MySQL資料完整性(實體完整性 域完整性)

資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...

資料完整性

資料完整性定義 是指資料庫中的資料的正確性和完整性。資料完整性的型別 要求的資料。not null。有效檢查。資料的有效範圍檢查。字段檢查約束。資料域。實體完整性。主鍵欄位唯 一 非空。引用完整性引發的問題 1 插入 更新子表記錄的外鍵值在主表主鍵中不存在。2 刪除 更新父表的主鍵記錄有關聯外來鍵記...