實(shí)驗(yàn)4完整性約束

實(shí)驗(yàn)4完整性約束

ID:41974454

大?。?30.51 KB

頁(yè)數(shù):34頁(yè)

時(shí)間:2019-09-05

實(shí)驗(yàn)4完整性約束_第1頁(yè)
實(shí)驗(yàn)4完整性約束_第2頁(yè)
實(shí)驗(yàn)4完整性約束_第3頁(yè)
實(shí)驗(yàn)4完整性約束_第4頁(yè)
實(shí)驗(yàn)4完整性約束_第5頁(yè)
資源描述:

《實(shí)驗(yàn)4完整性約束》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、實(shí)驗(yàn)4完整性約束數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。例如,在性別字段中,只能取“男”或“女”兩個(gè)值中的一個(gè),沒(méi)有第三個(gè)可取值;學(xué)生的學(xué)號(hào)必須唯一。在SQLServer2000中,系統(tǒng)提供多種強(qiáng)制數(shù)據(jù)完整性的機(jī)制,以便確保數(shù)據(jù)庫(kù)中的數(shù)據(jù)質(zhì)量?!局R(shí)要點(diǎn)】1.完整性約束作用的對(duì)象關(guān)系:若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束。元組:元組中各個(gè)字段間的聯(lián)系的約束。列:列的類型、取值范圍、精度、唯一性、為空性、缺省定義、CHECK約束、主鍵約束、外鍵約束2.完整性約束類型實(shí)體完整性;域完整性;參照完整性;用戶定義完整性。3.實(shí)體完整性實(shí)體完整性將行定義為特定表的唯一實(shí)體。

2、實(shí)體完整性作用的對(duì)象是列,強(qiáng)制表的標(biāo)識(shí)符列或主鍵的完整性(通過(guò)UNIQUE約束、PRIMARYKEY約束或IDENTITY屬性)。實(shí)驗(yàn)4完整性約束4.域完整性域完整性作用的對(duì)象是列,是指給定列的輸入有效性。強(qiáng)制域有效性的方法有:限制類型(通過(guò)數(shù)據(jù)類型)、格式(通過(guò)CHECK約束和規(guī)則)或可能值的范圍(通過(guò)FOREIGNKEY約束、CHECK約束、DEFAULT定義、NOTNULL定義和規(guī)則)。5.引用完整性引用完整性作用的對(duì)象是關(guān)系。在輸入或刪除記錄時(shí),引用完整性保持表之間已定義的關(guān)系。在Microsoft?SQLServer?2000中,引用完整性基于子表外鍵與主表主鍵之

3、間或子表外鍵與主表唯一鍵之間的關(guān)系(通過(guò)FOREIGNKEY和CHECK約束)。引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值,如果鍵值更改了,那么在整個(gè)數(shù)據(jù)庫(kù)中,對(duì)該鍵值的所有引用要進(jìn)行一致的更改。6.用戶定義完整性用戶定義完整性使您可以定義不屬于其它任何完整性分類的特定業(yè)務(wù)規(guī)則,作用的對(duì)象可以是列,也可以是元組或關(guān)系。所有的完整性類型都支持用戶定義完整性,如:CREATETABLE中的所有列級(jí)和表級(jí)約束、存儲(chǔ)過(guò)程和觸發(fā)器。實(shí)驗(yàn)4完整性約束7.CHECK約束CHECK約束通過(guò)限制輸入到列中的值來(lái)強(qiáng)制域的完整性。CHECK約束從邏輯表達(dá)式返回結(jié)果是TR

4、UE還是FALSE來(lái)判斷。例如,通過(guò)創(chuàng)建CHECK約束可將本科生的Age列的取值范圍限制在14歲至40歲之間,從而防止輸入的年齡超出正常的本科生范圍。其邏輯表達(dá)式為:Age>=14ANDAge<=40(1)創(chuàng)建和修改CHECK約束作為表定義的一部分在創(chuàng)建表時(shí)創(chuàng)建;添加到現(xiàn)有表中。表和列可以包含多個(gè)CHECK約束。修改或刪除現(xiàn)有的CHECK約束。例如,可以修改表中列的CHECK約束的表達(dá)式。(2)CHECK約束的設(shè)置在現(xiàn)有表中添加CHECK約束時(shí),該約束可以僅作用于新數(shù)據(jù)也可以同時(shí)作用于現(xiàn)有的數(shù)據(jù)。默認(rèn)設(shè)置為CHECK約束同時(shí)作用于現(xiàn)有數(shù)據(jù)和新數(shù)據(jù)。(3)禁用CHECK約束下

5、列情況可以禁用現(xiàn)有CHECK約束:INSERT和UPDATE語(yǔ)句,可以允許不經(jīng)約束確認(rèn)修改表中的數(shù)據(jù)。在執(zhí)行INSERT和UPDATE語(yǔ)句時(shí),如果新數(shù)據(jù)違反約束或約束應(yīng)只適用于數(shù)據(jù)庫(kù)中已有的數(shù)據(jù),那么可禁用CHECK約束。復(fù)制處理。如果該約束為源數(shù)據(jù)庫(kù)所特有,則在復(fù)制時(shí)請(qǐng)禁用CHECK約束。實(shí)驗(yàn)4完整性約束8.規(guī)則(Rule)所謂規(guī)則(Rule)是指當(dāng)你對(duì)表做插入或更新操作時(shí),輸入值或新數(shù)據(jù)必須符合對(duì)應(yīng)列預(yù)先設(shè)定的條件。如果不符合,SQLServer就不會(huì)讓該輸入值插入到表內(nèi)或不允許用該新數(shù)據(jù)更新原有數(shù)據(jù)。當(dāng)某個(gè)規(guī)則被創(chuàng)建后,有一個(gè)唯一的名字,并且成為數(shù)據(jù)庫(kù)中的一個(gè)對(duì)象。用

6、戶要使用規(guī)則時(shí),需要把規(guī)則綁定至表中相應(yīng)的一列或多列上或某個(gè)用戶定義的數(shù)據(jù)類型上。不使用時(shí)再將綁定解除。9.缺省值(Default)所謂缺省值(Default)是指當(dāng)你向表中插入數(shù)據(jù)時(shí),如果某些列未明確給出插入值,那么SQLServer將用預(yù)先在這些列上定義的值作為插入值。當(dāng)某個(gè)缺省值被創(chuàng)建后,有一個(gè)唯一的名字,并且成為數(shù)據(jù)庫(kù)中的一個(gè)對(duì)象。用戶要使用缺省值時(shí),需要把缺省值對(duì)象綁定至表中相應(yīng)的一列或多列上或某個(gè)用戶定義的數(shù)據(jù)類型上。不使用時(shí)再將綁定解除。【實(shí)驗(yàn)?zāi)康摹空J(rèn)識(shí)完整性約束對(duì)數(shù)據(jù)庫(kù)的重要性;掌握實(shí)體完整性的創(chuàng)建、修改、維護(hù);掌握域完整性的創(chuàng)建、修改、維護(hù);掌握參照完整性

7、的創(chuàng)建、修改、維護(hù);掌握用戶定義的完整性的創(chuàng)建、修改、維護(hù)。實(shí)驗(yàn)4完整性約束實(shí)驗(yàn)4.1實(shí)體完整性約束【實(shí)驗(yàn)?zāi)康摹空莆沼闷髽I(yè)管理器創(chuàng)建PRIMARYKEY約束;掌握用SQL創(chuàng)建PRIMARYKEY約束;掌握用企業(yè)管理器創(chuàng)建UNIQUE約束;掌握用SQL創(chuàng)建UNIQUE約束;掌握用SQL創(chuàng)建IDENTITY屬性列?!緦?shí)驗(yàn)內(nèi)容】用企業(yè)管理器為數(shù)據(jù)表S創(chuàng)建PRIMARYKEY約束;用企業(yè)管理器創(chuàng)建新表TEST_SC,并創(chuàng)建PRIMARYKEY約束,TEST_SC表的結(jié)構(gòu)定義如下:表名:TEST_SC包含的列如下:學(xué)號(hào):SN

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。