溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中數(shù)據(jù)完整性是指什么

發(fā)布時間:2021-06-15 09:39:11 來源:億速云 閱讀:1229 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章給大家分享的是有關mysql中數(shù)據(jù)完整性是指什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

數(shù)據(jù)完整性是指數(shù)據(jù)的精確性和可靠性,是指在傳輸、存儲信息或數(shù)據(jù)的過程中,確保信息或數(shù)據(jù)不被未授權的篡改或在篡改后能夠被迅速發(fā)現(xiàn)。數(shù)據(jù)完整性可分為四類:實體完整性、域完整性、參照完整性、用戶自定義完整性。

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

數(shù)據(jù)完整性(Data integrity)是信息安全的三個基本要點之一,指在傳輸、存儲信息或數(shù)據(jù)的過程中,確保信息或數(shù)據(jù)不被未授權的篡改或在篡改后能夠被迅速發(fā)現(xiàn)。

數(shù)據(jù)完整性(Data Integrity)是指數(shù)據(jù)的精確性(Accuracy) 和可靠性(Reliability)。它是應防止數(shù)據(jù)庫中存在不符合語義規(guī)定的數(shù)據(jù)和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。

數(shù)據(jù)完整性分為四類:實體完整性(Entity Integrity)、域完整性(Domain Integrity)、參照完整性(Referential Integrity)、用戶自定義完整性(User-definedIntegrity)。

1、實體完整性

實體完整性是在關系模型中,數(shù)據(jù)庫完整性三項規(guī)則的其中之一。實體完整性這項規(guī)則要求每個數(shù)據(jù)表都必須有主鍵,而作為主鍵的所有字段,其屬性必須是獨一及非空值。

2、域完整性

域完整性:是指一個列的輸入有效性,是否允許為空值。強制域完整性的方法有:限制類型(通過設定列的數(shù)據(jù)類型)、格式(通過CHECK約束和規(guī)則)或可能值的范圍(通過FOREIGN KEY約束、CHECK約束、DEFAULT定義、NOT NULL定義和規(guī)則)。如:學生的考試成績必須在0~100之間,性別只能是“男”或“女”。

3、參照完整性

參照完整性:是指保證主關鍵字(被引用表)和外部關鍵字(引用表)之間的參照關系。它涉及兩個或兩個以上表數(shù)據(jù)的一致性維護。

外鍵值將引用表中包含此外鍵的記錄和被引用表中主鍵與外鍵相匹配的記錄關聯(lián)起來。

在輸入、更改或刪除記錄時,參照完整性保持表之間已定義的關系,確保鍵值在所有表中一致。這樣的一致性要求確保不會引用不存在的值,如果鍵值更改了,那么在整個數(shù)據(jù)庫中,對該鍵值的所有引用要進行一致的更改。

參照完整性是基于外鍵與主鍵之間的關系。

4、用戶自定義完整性

用戶自定義完整性是針對某一具體關系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。主要包括非空約束、唯一約束、檢查約束、主鍵約束、外鍵約束。

數(shù)據(jù)庫采用多種方法來保證數(shù)據(jù)完整性,包括外鍵、約束、規(guī)則和觸發(fā)器。系統(tǒng)很好地處理了這四者的關系,并針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點。

完整性的約束

完整性約束主要有實體完整性約束、參照完整性約束、函數(shù)依賴約束、統(tǒng)計約束四類。

1) 實體完整性:規(guī)定表的每一行在表中是惟一的實體。

2) 域完整性:是指表中的列必須滿足某種特定的數(shù)據(jù)類型約束,其中約束又包括取值范圍、精度等規(guī)定。

3) 參照完整性:是指兩個表的主關鍵字和外關鍵字的數(shù)據(jù)應一致,保證了表之間的數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴散。

4) 用戶定義的完整性:不同的關系數(shù)據(jù)庫系統(tǒng)根據(jù)其應用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系數(shù)據(jù)庫的約束條件,它反映某一具體應用必須滿足的語義要求。

完整性約束的類型

可分為三種類型:與表有關的約束、域(Domain)約束、斷言(Assertion)

1) 與表有關的約束:是表中定義的一種約束??稍诹卸x時定義該約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表約束。

2) 域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關系。

3) 斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯(lián)。

感謝各位的閱讀!關于“mysql中數(shù)據(jù)完整性是指什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI