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