(4.9.1)-4.9項(xiàng)目實(shí)踐:操作數(shù)據(jù)完整性_第1頁(yè)
(4.9.1)-4.9項(xiàng)目實(shí)踐:操作數(shù)據(jù)完整性_第2頁(yè)
(4.9.1)-4.9項(xiàng)目實(shí)踐:操作數(shù)據(jù)完整性_第3頁(yè)
(4.9.1)-4.9項(xiàng)目實(shí)踐:操作數(shù)據(jù)完整性_第4頁(yè)
(4.9.1)-4.9項(xiàng)目實(shí)踐:操作數(shù)據(jù)完整性_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

操作數(shù)據(jù)完整性本節(jié)課內(nèi)容包括1、給現(xiàn)有的表創(chuàng)建組合主鍵。2、給現(xiàn)有的表創(chuàng)建惟一性約束。3、創(chuàng)建外鍵約束。4、給現(xiàn)有的表創(chuàng)建外鍵約束。操作數(shù)據(jù)完整性一、給現(xiàn)有的表創(chuàng)建組合主鍵1、語(yǔ)句格式

ALTERTABLEtable_name ADDCONSTRAINTconstraint_namePRIMARYKEY(column[,…n])}2、用altertable語(yǔ)句創(chuàng)建組合主鍵的實(shí)踐【任務(wù)1】給現(xiàn)有表t_student中的student_no、student_name字段設(shè)置組合主鍵約束1)任務(wù)分析:根據(jù)語(yǔ)法規(guī)范,要對(duì)現(xiàn)有表t_student設(shè)置組合主鍵,可以用ALTERTABLE給現(xiàn)有的t_student表追加PRIMARYKEY主鍵約束,并指明涉及的多個(gè)字段。2)任務(wù)實(shí)踐:打開(kāi)“新建查詢”窗口,輸入以下代碼:ALTERTABLEt_studentADDCONSTRAINTPK_no_namePRIMARYKEY(student_no,student_name)操作數(shù)據(jù)完整性二、給現(xiàn)有的表創(chuàng)建惟一性約束1、語(yǔ)句格式ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameUNIQUE(column[,…n])}2、用altertable語(yǔ)句創(chuàng)建組合惟一性約束的實(shí)踐應(yīng)用【任務(wù)2】給現(xiàn)有表t_student中的student_no字段設(shè)置惟一性約束

1)任務(wù)分析:根據(jù)語(yǔ)法規(guī)范,要對(duì)現(xiàn)有表t_student設(shè)置惟一性約束,可以用ALTERTABLE給現(xiàn)有的t_student表追加UNIQUE約束,并指明涉及的字段。

2)任務(wù)實(shí)踐:打開(kāi)“新建查詢”窗口,輸入以下代碼:ALTERTABLEt_studentADDCONSTRAINTPK_student_noUNIQUE(student_no)操作數(shù)據(jù)完整性三、在創(chuàng)建表的時(shí)候創(chuàng)建外鍵約束1、在創(chuàng)建表的時(shí)候創(chuàng)建外鍵約束的格式

[CONSTRAINTconstraint_name] FOREIGNKEY[column_name,...n]Referentces

ref_table(ref_column[,...n])在這個(gè)語(yǔ)法格式中,constraint_name為約束名,column_name為字段名,ref_table為引用表,ref_column為引用表中的具有主鍵或惟一性屬性的字段。若外鍵由一個(gè)字段組成,則該字段名可以省略,可將FOREIGNKEY子句跟在該字段定義的后面;若外鍵由多個(gè)字段組合而成,則該字段名列表不能省略,應(yīng)將FOREIGNKEY子句放在所有字段定義的后面。操作數(shù)據(jù)完整性三、在創(chuàng)建表的時(shí)候創(chuàng)建外鍵約束【任務(wù)3】用SQL語(yǔ)句給兩個(gè)表創(chuàng)建外鍵約束1)任務(wù)分析

(1)在hzqms學(xué)生評(píng)教數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)主鍵表,名稱為“t_major”,設(shè)置major_id字段為主鍵。

(2)在hzqms學(xué)生評(píng)教數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)外鍵表,名稱為“t_class”,并設(shè)置major_id字段為外鍵。2)任務(wù)實(shí)施:打開(kāi)SQLServer管理工具的窗口,在左側(cè)的對(duì)象資源管理器中展開(kāi)hzqms數(shù)據(jù)庫(kù),展開(kāi)表文件夾,查看是否存在t_major表和t_class表,若存在,就刪除它們。然后打開(kāi)“新建查詢”窗口,輸入以下代碼:操作數(shù)據(jù)完整性三、在創(chuàng)建表的時(shí)候創(chuàng)建外鍵約束--主鍵表t_major和外鍵表t_class

USEhzqms

GoCREATETABLEt_major--創(chuàng)建t_major主鍵表(major_idintNOTNULLPRIMARYKEY,

major_novarchar(50)NOTNULL,

major_namevarchar(50)NOTNULL,

department_id intNOTNULL,)GOCREATETABLEt_class--創(chuàng)建t_class外鍵表(class_id intNOTNULL,

class_no varchar(50)NOTNULL,

class_name varchar(50)NOTNULL,

stu_number intNOTNULL,

major_id intNOTNULL,CONSTRAINTFK_SFOREIGNKEYREFERENCESt_major(major_id),)操作數(shù)據(jù)完整性三、在創(chuàng)建表的時(shí)候創(chuàng)建外鍵約束重要提示:1、如果想刪除t_major和t_class表,大家想想,刪除t_major和t_class這兩個(gè)表,有先后順序嗎?如果我們先刪除t_major表,系統(tǒng)提示不刪除,因?yàn)樗型怄I約束。應(yīng)該先刪除t_class表,即外鍵表。所以,如果想刪除有外鍵約束的兩個(gè)表,應(yīng)該先刪除外鍵表。2、若最后一個(gè)字段的定義“major_id intNOTNULL,”和“CONSTRAINTFK_SFOREIGNKEYREFERENCESt_major(major_id),”后面加上逗號(hào),則系統(tǒng)提示以下錯(cuò)誤:消息8139,級(jí)別16,狀態(tài)0,第8行表't_class'的外鍵中引用列的數(shù)目與被引用列的數(shù)目不等。去掉兩個(gè)逗號(hào),錯(cuò)誤解決。操作數(shù)據(jù)完整性四、給現(xiàn)有的表創(chuàng)建外鍵約束。1、語(yǔ)法格式Altertable外鍵表ADDconstraint外鍵名FOREIGNKEY(外鍵表的字段)references主鍵表(主鍵表的字段)其中,外鍵表的字段和主鍵表的字段是外鍵約束的公共字段操作數(shù)據(jù)完整性四、給現(xiàn)有的表創(chuàng)建外鍵約束。2、任務(wù)實(shí)踐【任務(wù)4】用ALTERtable語(yǔ)句給現(xiàn)有的t_major專業(yè)表和t_class班級(jí)表創(chuàng)建外鍵約束1)任務(wù)分析(1)在t_major專業(yè)表中設(shè)置major_id字段為主鍵,t_major專業(yè)表是主表。(2)在t_class班級(jí)表中設(shè)置major_id字段為外鍵,t_class表是從表。2)任務(wù)實(shí)踐:打開(kāi)“新建查詢”窗口,輸入以下代碼:--主鍵表t_major和外鍵表t_classAltertablet_classADDconstraintFK_t_class2FOREIGNKEY(major_id)ref

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論