資料完整性是指資料的精確性和可靠性,是指在傳輸、儲存資訊或資料的過程中,確保資訊或資料不會被未經授權的篡改或在篡改後能夠被迅速發現。資料完整性可分為四類:實體完整性、網域完整性、參考完整性、使用者自訂完整性。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
資料完整性(Data integrity)是資訊安全的三個基本要點之一,指在傳輸、儲存資訊或資料的過程中,確保資訊或資料不會被未經授權的篡改或在篡改後能夠被迅速發現。
資料完整性(Data Integrity)是指資料的精確性(Accuracy) 和可靠性(Reliability)。它是應防止資料庫中存在不符合語義規定的資料和防止因錯誤訊息的輸入輸出造成無效操作或錯誤訊息而提出的。
資料完整性分為四類:實體完整性(Entity Integrity)、網域完整性(Domain Integrity)、參考完整性(Referential Integrity)、使用者自訂完整性(User-definedIntegrity)。
1、實體完整性
實體完整性是在關聯模型中,資料庫完整性三項規則的其中之一。實體完整性這項規則要求每個資料表都必須有主鍵,而作為主鍵的所有字段,其屬性必須是獨一及非空值。
2、域完整性
域完整性:是指一個欄位的輸入有效性,是否允許為空值。強制域完整性的方法有:限制類型(透過設定列的資料類型)、格式(透過CHECK約束和規則)或可能值的範圍(透過FOREIGN KEY約束、CHECK約束、DEFAULT定義、NOT NULL定義和規則)。如:學生的考試成績必須在0~100之間,性別只能是「男」或「女」。
3、參考完整性
參考完整性:是指保證主關鍵字(被引用表)和外部關鍵字(引用表)之間的參考關係。它涉及兩個或兩個以上表資料的一致性維護。
外鍵值將引用表中包含此外鍵的記錄和被引用表中主鍵與外鍵相符的記錄關聯起來。
在輸入、變更或刪除記錄時,參考完整性保持表之間已定義的關係,並確保鍵值在所有表中一致。這樣的一致性要求確保不會引用不存在的值,如果鍵值更改了,那麼在整個資料庫中,對該鍵值的所有引用要進行一致的更改。
參考完整性是基於外鍵與主鍵之間的關係。
4、使用者自訂完整性
使用者自訂完整性是針對某一具體關係資料庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。主要包括非空約束、唯一約束、檢查約束、主鍵約束、外鍵約束。
資料庫採用多種方法來確保資料完整性,包括外鍵、約束、規則和觸發器。系統很好地處理了這四者的關係,並針對不同的具體情況以不同的方法進行,相互交叉使用,相補缺點。
完整性的限制
完整性限制主要有實體完整性限制、參考完整性限制、函數依賴限制、統計限制四類。
1) 實體完整性:規定表的每一行在表中是惟一的實體。
2) 域完整性:是指表中的欄位必須滿足某種特定的資料類型約束,其中約束又包含取值範圍、精確度等規定。
3) 參照完整性:是指兩個表的主關鍵字和外關鍵字的資料應一致,保證了表之間的資料的一致性,防止了資料遺失或無意義的數據在資料庫中擴散。
4) 使用者定義的完整性:不同的關聯式資料庫系統依其應用環境的不同,往往還需要一些特殊的限制條件。使用者定義的完整性即是針對某個特定關係資料庫的約束條件,它反映某一具體應用必須滿足的語意要求。
完整性限制的類型
可分為三種類型:與表格有關的限制、域(Domain)限制、斷言( Assertion)
1) 與表格有關的限制:是表中定義的一種限制。可在列定義時定義此約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表格約束。
2) 域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關係。
3) 斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯。
(推薦教學:mysql影片教學)
以上是資料完整性是指什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!