MS SQL基礎教程:資料完整性概述

來源:互聯網
上載者:User

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

庫系統,尤其是多使用者的關聯式資料庫系統首要關注的問題。資料完整性因此而提出。本章將講述資料完整性的概念及其在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入門基礎教程"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.