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)系、檢查約束……——》插入成功