數(shù)據(jù)庫(kù)的完整性約束-包含答案_第1頁(yè)
數(shù)據(jù)庫(kù)的完整性約束-包含答案_第2頁(yè)
數(shù)據(jù)庫(kù)的完整性約束-包含答案_第3頁(yè)
數(shù)據(jù)庫(kù)的完整性約束-包含答案_第4頁(yè)
數(shù)據(jù)庫(kù)的完整性約束-包含答案_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)八:數(shù)據(jù)庫(kù)的完整性約束一、實(shí)驗(yàn)?zāi)康?. 掌握主鍵約束、外鍵約束及及check約束的用法;2. 掌握默認(rèn)值約束的應(yīng)用。二、實(shí)驗(yàn)環(huán)境已安裝SQL Server 2008 企業(yè)版的計(jì)算機(jī);具有局域網(wǎng)環(huán)境,有固定IP;三、實(shí)驗(yàn)學(xué)時(shí)2學(xué)時(shí)四、實(shí)驗(yàn)要求1. 熟悉數(shù)據(jù)庫(kù)完整性相關(guān)概念及約束;2. 了解約束、默認(rèn)值;3. 完成實(shí)驗(yàn)報(bào)告;五、實(shí)驗(yàn)準(zhǔn)備知識(shí)1、創(chuàng)建primary key約束(1)在創(chuàng)建數(shù)據(jù)表時(shí)創(chuàng)建primary key約束CREATE TABLE table_name(column_name data_type PRIMARY KEY | unique | NOT N

2、ULL , column_name data_type PRIMARY KEY | unique | NOT NULL .PRIMARY KEY(column ,.n) )(2)在修改表時(shí)同時(shí)創(chuàng)建primary key約束ALTER TABLE table_nameADD primary key(column ,.n)2、創(chuàng)建Foreign key約束(1)創(chuàng)建表時(shí)同時(shí)定義Foreign key約束CREATE TABLE table_name(column_name data_type FOREIGN KEY REFERNCES ref_table(ref_column), column_n

3、ame data_type FOREIGN KEY REFERNCES ref_table(ref_column) .FOREIGN KEY (column) REFERNCES ref_table(ref_column) )(2)通過(guò)修改表定義Foreign key約束ALTER TABLE table_nameADD FOREIGN KEY (column)REFERNCES ref_table(ref_column )3、創(chuàng)建check約束(1)創(chuàng)建數(shù)據(jù)表時(shí)創(chuàng)建check約束CREATE TABLE table_name(column_name data_type NOT NULL |

4、CHECK (logical_expression).CHECK (logical_expression) )(2)在修改數(shù)據(jù)表時(shí)添加check約束ALTER TABLE table_nameADD CHECK (logical_expression)4、創(chuàng)建default約束(1)創(chuàng)建數(shù)據(jù)表時(shí)創(chuàng)建default約束Create table table_name( column_name datatype not null | DEFAULT (constraint_expression)(2)修改數(shù)據(jù)表時(shí)添加一個(gè)字段的同時(shí)創(chuàng)建default約束Alter table table_nameAD

5、D column_name datatype not null | DEFAULT (constraint_expression) with values(3)對(duì)表中指定的列定義默認(rèn)值約束Alter table table_nameADD DEFAULT (constraint_expression) For column5、完整性約束命名子句CONSTRAINT PRIMARY KEY 短語(yǔ)FOREIGN KEY 短語(yǔ)CHECK 短語(yǔ)6、刪除primary key約束或unique約束ALTER TABLE table_nameDROP CONSTRAINT constraint_name

6、, .n六、實(shí)驗(yàn)內(nèi)容及步驟使用T-SQL語(yǔ)句實(shí)現(xiàn)以下操作;1. 請(qǐng)用至少2種方法定義stu數(shù)據(jù)庫(kù)中student表的主鍵sno;方法1:CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20), Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) )方法2:CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20), Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY(Sno)2. 將數(shù)據(jù)庫(kù)s

7、tu的表course的cno字段定義為主鍵,約束名稱(chēng)為cno_pk;Alter table courseAdd constraint cno_pk primary key (cno)3. 為表course中的字段cname添加唯一值約束;Alter table courseAdd constraint cname_pk unique (cname)4. 將數(shù)據(jù)庫(kù)stu的表sc的sno及cno字段組合定義為主鍵,約束名稱(chēng)為sc_pk;Alter table scAdd constraint sc_pk primary key (sno,cno)5. 對(duì)于數(shù)據(jù)表sc的sno、cno字段定義為外碼,

8、使之與表student的主碼sno及表course的主碼cno對(duì)應(yīng),實(shí)現(xiàn)如下參照完整性:1) 刪除student表中記錄的同時(shí)刪除sc表中與該記錄sno字段值相同的記錄;2) 修改student表某記錄的sno時(shí),若sc表中與該字段值對(duì)應(yīng)的有若干條記錄,則拒絕修改;3) 修改course表cno字段值時(shí),該字段在sc表中的對(duì)應(yīng)值也應(yīng)修改;4) 刪除course表一條記錄時(shí),若該字段在在sc表中存在,則刪除該字段對(duì)應(yīng)的記錄;Use stuCreate table student(Sno CHAR(9), Sname CHAR(20), Ssex CHAR(2), Sage SMALLINT, S

9、dept CHAR(20), PRIMARY KEY(Sno) )Create table course (cno char(4), cname char(40), cpno char(4),ccedit smallint,foreign key (cpno) references course(cno), primary key (cno)Create table sc(sno char(9), cno char(4), Grade smallint,foreign key (sno) references student(sno)on delete cascade on update no

10、 action,foreign key (cno) references course (cno) on delete cascade on update cascade )6. 定義check約束,要求學(xué)生學(xué)號(hào)sno必須為9位數(shù)字字符,且不能以0開(kāi)頭,第二三位皆為0;Alter table studentAdd CONSTRAINT sno_ckCheck (sno like 1-900 0-9 0-9 0-9 0-9 0-9 0-9)7. 定義stu數(shù)據(jù)庫(kù)中student表中學(xué)生年齡值在16-25范圍內(nèi);CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20), Ssex CHAR(2), Sage SMALLINT Check (sage=16 and sage=25), Sdept CHAR(20) )8. 定義stu數(shù)據(jù)庫(kù)中student表中學(xué)生性別列中只能輸入“男”或“女”;CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20), Ssex CHAR(2) Check(Ssex in (男,女), Sage SMALLINT, Sdept CHAR(20) )9. 定義stu數(shù)據(jù)庫(kù)stud

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論