數(shù)據(jù)庫的三種完整性約束:1、實(shí)體完整性,對(duì)關(guān)系中的記錄唯一性,即主鍵的約束;2、參照完整性,對(duì)關(guān)系數(shù)據(jù)庫中建立關(guān)聯(lián)關(guān)系的數(shù)據(jù)表間數(shù)據(jù)參照引用的約束,即對(duì)外鍵的約束;3、用戶定義的完整性,針對(duì)某一具體關(guān)系數(shù)據(jù)庫的約束條件。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
關(guān)系模型中的三類完整性約束
1.實(shí)體完整性
2.參照完整性
3.用戶定義的完整性
實(shí)體完整性
若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。
實(shí)體完整性規(guī)定基本關(guān)系的所有主屬性,都不能取空值。
參照完整性
外碼: 關(guān)系R中,有一個(gè)或一組屬性,其不是主碼,并且該屬性和另一關(guān)系S中的主碼相對(duì)應(yīng)。則該屬性為R的外碼。
該屬性或?qū)傩越M可以和當(dāng)前關(guān)系的主碼相關(guān)聯(lián)。
比如下圖的先修課程號(hào)和課程號(hào)相關(guān)聯(lián)。
參照完整性規(guī)定:外碼或者取空值,或者等于另一關(guān)系中的主碼值。
用戶自定義完整性
1.unique(唯一)
2.check(滿足某一條件)
3.not null(不為空值)
用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫的約束條件。反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。
用戶定義的完整性沒有統(tǒng)一的規(guī)則,由數(shù)據(jù)庫設(shè)計(jì)人員根據(jù)具體應(yīng)用中數(shù)據(jù)的語義要求來創(chuàng)建。
相關(guān)免費(fèi)學(xué)習(xí)推薦:mysql視頻教程