教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

關(guān)系模型的完整性約束包括哪幾部分?

更新時(shí)間:2023年06月12日18時(shí)02分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

為保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,需要對(duì)關(guān)系模型進(jìn)行完整性約束,所約束的完整性通常包括域完整性、實(shí)體完整性、參照完整性和用戶自定義完整性、具體介紹如下。

(1)域完整性。域完整性是保證數(shù)據(jù)庫字段取值的合理性。域完整性約束包括檢查(CHEC)、默認(rèn)值(DEFAULT)、不為空(NOT NULL)、外鍵(FOREIGN KEY)等約束??梢詫?duì)插入的字段值進(jìn)行檢查、保證其符合設(shè)置的域完整性約束。

(2)實(shí)體完整性。實(shí)體完整性要求關(guān)系中的主鍵不能重復(fù),且不能取空值。空值是指不知道、不存在或無意義的值。由于關(guān)系中的元組對(duì)應(yīng)現(xiàn)實(shí)世界中互相之間可區(qū)分的個(gè)體,因此這些個(gè)體使用主鍵來唯一標(biāo)識(shí),若主鍵為空或重復(fù),則無法唯一標(biāo)識(shí)每個(gè)個(gè)體。

(3)參照完整性。參照完整性定義了外鍵和主鍵之間的引用規(guī)則,要求關(guān)系中的外鍵要么取空值,要么取參照關(guān)系中的某個(gè)元組的主鍵值。例如,學(xué)生表中的班級(jí)號(hào)對(duì)應(yīng)班級(jí)表中的班級(jí)號(hào),按照參照完整性規(guī)則,學(xué)生的班級(jí)號(hào)只能取空值或班級(jí)表中已經(jīng)存在的某個(gè)班級(jí)號(hào)。當(dāng)取空值時(shí)表示該學(xué)生尚未分配班級(jí),當(dāng)取某個(gè)班級(jí)號(hào)時(shí),該班級(jí)號(hào)必須是班級(jí)表中已經(jīng)存在的某個(gè)班級(jí)號(hào)。

(4)用戶自定義完整性。用戶自定義完整性是用戶針對(duì)具體的應(yīng)用環(huán)境定義的完整性約束條件,由DBMS檢查用戶自定義完整性。例如,創(chuàng)建數(shù)據(jù)表時(shí),定義用戶名不允許重復(fù)的約束。

0 分享到:
和我們?cè)诰€交談!