數據完整性是指數據庫的正確性、有效性、壹致性和相容性。
它是應防止數據庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。數據完整性分為四類:實體完整性、域完整性、參照完整性、用戶自定義完整性。
數據庫采用多種方法來保證數據完整性,包括外鍵、約束、規則和觸發器。系統很好地處理了這四者的關系,並針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點。
數據庫中的數據是從外界輸入的,而數據的輸入由於種種原因,會發生輸入無效或錯誤信息。保證輸入的數據符合規定,成為了數據庫系統,尤其是多用戶的關系數據庫系統首要關註的問題。數據完整性因此而提出。本章將講述數據完整性的概念及其在SQL Server中的實現方法。
數據完整性的分類
1、域完整性:是指壹個列的輸入有效性,是否允許為空值。強制域完整性的方法有:限制類型(通過設定列的數據類型)、格式(通過CHECK約束和規則)或可能值的範圍(通過FOREIGN KEY約束、CHECK約束、DEFAULT定義、NOT NULL定義和規則)。
2、實體完整性:是指保證表中所有的行唯壹。實體完整性要求表中的所有行都有壹個唯壹標識符。這個唯壹標識符可能是壹列,也可能是幾列的組合,稱為主鍵。也就是說,表中的主鍵在所有行上必須取唯壹值。
3、參照完整性:是指保證主關鍵字(被引用表)和外部關鍵字(引用表)之間的參照關系。它涉及兩個或兩個以上表數據的壹致性維護。外鍵值將引用表中包含此外鍵的記錄和被引用表中主鍵與外鍵相匹配的記錄關聯起來。