三、數(shù)據(jù)的完整性設(shè)計(jì)與實(shí)現(xiàn)

1、數(shù)據(jù)的完整性

總結(jié)分析:

當(dāng)前表中存在不準(zhǔn)確、不一致的數(shù)據(jù),則數(shù)據(jù)庫(kù)失去了完整性

數(shù)據(jù)完整性破壞一般由數(shù)據(jù)庫(kù)的設(shè)計(jì)不合理導(dǎo)致

數(shù)據(jù)完整性概念:能夠確保存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的準(zhǔn)確性和一致性

2、完整性的約束類型

(1)域(列)完整性:添加列的約束范圍,保證列值符合規(guī)定要求

(2)實(shí)體的完整性:要求表中的所有行唯一

(3)引用完整性:要求兩表相同字段具有一致性

PS:為什么不直接把班級(jí)放入學(xué)員表?

如果將班級(jí)放入學(xué)員表,將會(huì)使班級(jí)依賴于學(xué)員信息而存在,未添加學(xué)員時(shí)不存在班級(jí),不符合實(shí)際

3、實(shí)體完整性——主鍵約束與唯一約束

作用:保證實(shí)體的唯一性

方法:主鍵約束、標(biāo)識(shí)列、唯一約束

(1)添加約束的基本語(yǔ)法

(2)約束名規(guī)則(建議):約束類型_約束字段

主鍵(Primary Key)約束:如PK_StudentId

唯一(Unique)約束:如Uq_StudentIdNo

約束可以直接在建表時(shí)添加,也可以如下添加:

4、域完整性

作用:保證實(shí)體屬性符合規(guī)范要求

方法:檢查約束、限制數(shù)據(jù)類型、默認(rèn)值、非空約束

(1)檢查約束與默認(rèn)約束

約束名規(guī)則(建議):約束類型_約束名

檢查(Check Key)約束:如CK_Key

默認(rèn)(Default Key)約束:如DK_Key

例:

5、引用完整性

作用:保證兩表中相同屬性值的一致性

方法:外鍵約束


例:

6、數(shù)據(jù)完整性總結(jié)

實(shí)體完整性

能夠唯一標(biāo)識(shí)表中的每一條記錄

實(shí)現(xiàn)方式:主鍵、唯一鍵、Identity屬性

域完整性

表中特定列的數(shù)據(jù)的有效性,確保不會(huì)輸入無(wú)效的值

實(shí)現(xiàn)方式:數(shù)據(jù)類型限制,默認(rèn)值約束,非空值,檢查約束

引用完整性

維護(hù)表間數(shù)據(jù)的有效性、完整性

實(shí)現(xiàn)方式:建立外鍵,關(guān)聯(lián)另一表的主鍵

7、數(shù)據(jù)表的使用總結(jié)

(1)主鍵的選擇

最小性原則:盡量選擇單個(gè)鍵作為主鍵

穩(wěn)定性原則:盡量選擇數(shù)值更新少的列作為主鍵

(2)外鍵使用

要求數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng)度必須與對(duì)應(yīng)的主鍵字段完全一致

添加數(shù)據(jù)時(shí),要首先添加主鍵,再添加外鍵

刪除數(shù)據(jù)時(shí),要首先刪除外檢表數(shù)據(jù),再刪除主鍵表數(shù)據(jù)

(3)完整數(shù)據(jù)庫(kù)創(chuàng)建步驟

建庫(kù)——》建表——》主鍵約束——》域完整性約束——》外鍵約束

(4)插入數(shù)據(jù)的過程

驗(yàn)證主鍵、主外鍵關(guān)系、檢查約束……——》插入成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容