溫馨提示×

溫馨提示×

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

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

mysql在表中設(shè)置外鍵實現(xiàn)的是哪種數(shù)據(jù)完整性

發(fā)布時間:2020-10-16 15:14:27 來源:億速云 閱讀:456 作者:小新 欄目:MySQL數(shù)據(jù)庫

小編給大家分享一下mysql在表中設(shè)置外鍵實現(xiàn)的是哪種數(shù)據(jù)完整性,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在表中設(shè)置外鍵實現(xiàn)的是參照完整性。

參照的完整性要求關(guān)系中不允許引用不存在的實體。與實體完整性是關(guān)系模型必須滿足的完整性約束條件,目的是保證數(shù)據(jù)的一致性。參照完整性又稱引用完整性。

參照完整性是關(guān)系模型的完整約束之一,屬于數(shù)據(jù)完整性的一種,其余還有:實體完整性、用戶自定義完整性。

參照完整性規(guī)則:若屬性或?qū)傩越MF是基本關(guān)系R的外鍵,它與基本關(guān)系S的主鍵Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中的每個元組在F上的值必須為:

(1)空值,F(xiàn)的每個屬性值均為空值。

(2)S中某個元組中的主鍵值(主碼值)。

即參照的關(guān)系中的屬性值必須能夠在被參照關(guān)系找到或者取空值,否則不符合數(shù)據(jù)庫的語義。在實際操作時如更新、刪除、插入一個表中的數(shù)據(jù),通過參照引用相互關(guān)聯(lián)的另一個表中的數(shù)據(jù),來檢查對表的數(shù)據(jù)操作是否正確,不正確則拒絕操作

性質(zhì)

參照完整性屬于表間規(guī)則。對于永久關(guān)系的相關(guān)表,在更新、插入或刪除記錄時,如果只改其一不改其二,就會影響數(shù)據(jù)的完整性:

例如修改父表中關(guān)鍵字值后,子表關(guān)鍵字值未做相應(yīng)改變;刪除父表的某記錄后,子表的相應(yīng)記錄未刪除,致使這些記錄成為孤立記錄;對于子表插入的記錄,父表中沒有相應(yīng)關(guān)鍵字值的記錄;等等。對于這些設(shè)計表間數(shù)據(jù)的完整性,統(tǒng)稱為參照完整性。

參照完整性則是相關(guān)聯(lián)的兩個表之間的約束,具體的說,就是從表中每條記錄外鍵的值必須是主表中存在的,因此,如果在兩個表之間建立了關(guān)聯(lián)關(guān)系,則對一個關(guān)系進行的操作要影響到另一個表中的記錄。

如果實施了參照完整性,那么當(dāng)主表中沒有相關(guān)記錄時,就不能將記錄添加到相關(guān)表中。也不能在相關(guān)表中存在匹配的記錄時刪除主表中的記錄,更不能在相關(guān)表中有相關(guān)記錄時,更改主表中的主鍵值。

也就是說,實施了參照完整性后,對表中主鍵字段進行操作時系統(tǒng)會自動地檢查主鍵字段,看看該字段是否被添加、修改、刪除了。如果對主鍵的修改違背了參照完整性的要求,那么系統(tǒng)就會自動強制執(zhí)行參照完整性。

以上是mysql在表中設(shè)置外鍵實現(xiàn)的是哪種數(shù)據(jù)完整性的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI