數(shù)據(jù)庫原理與應用實驗3-1_第1頁
數(shù)據(jù)庫原理與應用實驗3-1_第2頁
數(shù)據(jù)庫原理與應用實驗3-1_第3頁
數(shù)據(jù)庫原理與應用實驗3-1_第4頁
數(shù)據(jù)庫原理與應用實驗3-1_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗3.1 數(shù)據(jù)完整性管理一、實驗目的l 掌握域完整性的實現(xiàn)方法。l 掌握實體完整性的實現(xiàn)方法。l 掌握參照完整性的方法。二、實驗內容數(shù)據(jù)庫的完整性設置。三、實驗步驟可視化:1)實體完整性Ø2)域完整性Ø 3)參照完整性命令方式:1)實體完整性1將“student”表的“sno”字段設為主鍵:alter table student add constraint pk_sno primary key (sno)2. 添加一身份證號字段,設置其惟一性.(注: 操作前應刪除表中的所有記錄)Alter table student add id char(18) unique (id

2、)3. 將“sc”表的“sno”和“cno”設置為主鍵:alter table sc add constraint PK_SnoCno primary key (sno,cno)2)域完整性4. 將“ssex”字段設置為只能取“男”,“女”兩值:alter table student add constraint CK_Sex check (ssex in ('男' ,'女')5. 設置學號字段只能輸入數(shù)字:alter table student add constraint CK_Sno_Format check (sno like'0-90-90-9

3、0-90-9')6. 設置身份證號的輸入格式:alter table student add constraint CK_ID_Format check (id like'0-90-90-90-90-90-91-20-90-90-90-10-90-30-90-90-90-9_') OR (idlike '0-90-90-90-90-90-90-90-90-10-90-30-90-90-90-9')7. 設置18 位身份證號的第7 位到第10 位為合法的年份(1900-2050)alter table student add constraint CK_I

4、D_Format2 check (len(id)=18 and( (convert(smallint,substring(id,7,4) )>=1900) and(convert(smallint,substring(id,7,4) )<=2050) )8. 設置男生的年齡必須大于22, 女生的年齡必須大于20.Alter table student add constraint CK_age check (ssex='男' and sage>=22 or ssex='女' andsage>=20 )3)參照完整性9. 將“student

5、”表和“sc”表中的“sno”字段設為參照:alter table sc add constraint FP_sno foreign key (sno) references student(sno )完整性驗證1 實體完整性: 在“student”表數(shù)據(jù)瀏覽可視化界面中輸入學號相同的兩條記錄將會出現(xiàn)錯誤或者在命令窗口輸入下面兩條命令也會出現(xiàn)錯誤提示:insert into student values('95003','張三','男',24,'CS','#39;)insert int

6、o student values('95001','李四','女',21,'CS','#39;)下面的語句用來驗證“sc”表中的實體完整性:insert into sc values('95002', '10',65)insert into sc values('95002', '10',90)2. 域完整性:使用下面的語句驗證“ssex”字段的域完整性:insert into student values('95

7、009','張勻','大',20,'CS',3參照完整性:使用下面的語句“驗證”sc 表中的“sno”字段的域完整性(假設student 表中沒有學號為“95998”的學生記錄):insert into sc values('98998', '10',98)四、實驗任務:1、建立課程的實體完整性, 和課程號cno 的參照完整性;2、對HRM 數(shù)據(jù)庫,練習建立三個表的主外鍵約束、唯一約束、取空值約束、用戶自定義的約束(參考HRM 數(shù)據(jù)庫表定義圖中說明);主鍵約束:

8、60;Departments:alter table departments add constraint FK_DEPARTMENTID primary key (departmentid) Employee:alter table employee add constraint FK_EMPLOYEEID primary key (employeeid)外鍵約束: Salary: alter 

9、table salary add  constraint  FK_EmployeeID foreign key (EmployeeID) references Employee(Employeeid) Employee:  alter table employee add  constraint FK_EMPLOYEE_DEPARTMENT foreign key (

10、DepartmentID) references Departments(DepartmentID) 唯一約束: Departments: alter table Departments add constraint UNIQUE_Department UNIQUE (DepartmentID)Employee:  alter table Employee add constraint UNIQUE_Emp

11、loyee UNIQUE (DepartmentID) Salary: alter table Salary add constraint UNIQUE_Salary UNIQUE (EmployeeID) 非空約束: Employee:  alter table    Employee   alter column  EmployeeI

12、D char(6) not null alter table    Employee   alter column  Name char(10) not null alter table    Employee   alter column  Birthday Datetime 

13、not null alter table    Employee   alter column  Sex  Bit not null alter table    Employee   alter column  DepartmentID  char(3) not nu

14、ll 表Departments:   alter table    Departments alter column DepartmentID  char(3) not null 表Salary:   alter table    Salary alter column  EmployeeID ch

15、ar(6) not null alter table    Salary alter column  Income Float(8) not null alter table    Salary alter column  OutCome Float(8) not null 用戶自定義約束: alter ta

溫馨提示

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

最新文檔

評論

0/150

提交評論