資料完整性是指:1、域完整性,即一個列的輸入有效性,是否允許為空值;2、實體完整性,即保證表中所有的行唯一;3、參考完整性,即保證主關鍵字(被引用表)和外部關鍵字(引用表)之間的參照關係。
本教學操作環境:windows7系統、Dell G3電腦。
儲存在資料庫中的所有資料值均正確的狀態。如果資料庫中儲存有不正確的資料值,則該資料庫稱為已喪失資料完整性。
資料完整性(Data Integrity)是指資料的精確性(Accuracy) 和可靠性(Reliability)。它是應防止資料庫中存在不符合語義規定的資料和防止因錯誤訊息的輸入輸出造成無效操作或錯誤訊息而提出的。
資料完整性分為以下3類:
#(1)域完整性:是指一個列的輸入有效性,是否允許為空值。強制域完整性的方法有:限制類型(透過設定列的資料類型)、格式(透過CHECK約束和規則)或可能值的範圍(透過FOREIGN KEY約束、CHECK約束、DEFAULT定義、NOT NULL定義和規則)。如:學生的考試成績必須在0~100之間,性別只能是「男」或「女」。
(2)實體完整性:是指保證表中所有的行唯一。實體完整性要求表中的所有行都有一個唯一識別碼。這個唯一識別碼可能是一列,也可能是幾列的組合,稱為主鍵。也就是說,表中的主鍵在所有行上必須取唯一值。強制實體完整性的方法有:索引、UNIQUE約束、PRIMARY KEY約束或IDENTITY屬性。如:student表中sno(學號)的值必須唯一,它唯一標識了對應記錄所代表的學生,學號重複是非法的。學生的名字不能作為主鍵,因為完全可能存在兩個學生同名同姓的情況。
(3)參考完整性:是指保證主關鍵字(被引用表)與外部關鍵字(引用表)之間的參考關係。它涉及兩個或兩個以上表資料的一致性維護。外鍵值將引用表中包含此外鍵的記錄和被引用表中主鍵與外鍵相符的記錄關聯起來。輸入、變更或刪除記錄時,參照完整性保持表之間已定義的關係,確保鍵值在所有表中一致。這樣的一致性要求確保不會引用不存在的值,如果鍵值更改了,那麼在整個資料庫中,對該鍵值的所有引用要進行一致的更改。參照完整性是基於外鍵與主鍵之間的關係。例如學生學習課程的課程號碼必須是有效的課程編號,score表(成績表)的外鍵cno(課程號)將參考course表(課程表)中主鍵cno(課程號)以實現資料完整性。
網域完整性、實體完整性及參考完整性分別在列、行、表上實作。資料完整性任何時候都可以實施,但對已有資料的表實施資料完整性時,系統要先檢查表中的資料是否滿足所實施的完整性,只有表中的資料滿足了所實施的完整性,資料完整性才能實施成功。
更多相關知識,請造訪常見問題欄位!
以上是資料完整性是指哪三個的詳細內容。更多資訊請關注PHP中文網其他相關文章!