您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關mysql中數據完整性是指什么的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
數據完整性是指數據的精確性和可靠性,是指在傳輸、存儲信息或數據的過程中,確保信息或數據不被未授權的篡改或在篡改后能夠被迅速發現。數據完整性可分為四類:實體完整性、域完整性、參照完整性、用戶自定義完整性。
本教程操作環境: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中數據完整性是指什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。