資料庫完整性實驗報告

2021-10-01 05:33:10 字數 3023 閱讀 9227

一、實驗學時

2學時二、實驗目的

(1)實現資料完整性的概念及實施資料完整性的重要性。

(2)掌握資料完整性的分類。

(3)掌握完整性約束的新增、刪除方法。

(4)掌握通用預設值的建立、實施與刪除方法。

(5)掌握規則的建立、實施與刪除方法。

(6)掌握級聯刪除、級聯修改方法。

三、實驗要求

刪除預設約束的操作步驟:

2)(若原有約束,請在企業管理器中刪除student表的主鍵約束)在企業管理器中將sno重設為主鍵。(會操作即可,操作步驟可略)

3)為student表的sname欄位新增唯一性約束。

新增唯一性約束操作步驟:

刪除唯一性約束操作步驟:

4)(若原有約束,請在企業管理器中刪除原有的外來鍵約束)在企業管理器中刪除sc原有的外來鍵約束,在企業管理器中對sno,cno欄位設定外來鍵約束,約束名自己取。並允許級聯刪除與級聯更新。

新增外來鍵約束的操作步驟:

刪除外來鍵約束的操作步驟:

(2)使用t-sql語句新增、刪除約束(約束名自取,並自行新增或修改某些字段值檢驗有效性)

1)為student表的sno欄位新增乙個check約束,使學號滿足如下條件:

a. 學號前四位為2002。

b. 學號後五位為數字字元。

t-sql語句為:

create table student

(sno char(9) check(sno like』[2002][0-9][0-9][0-9][0-9][0-9]』));

2)(若原有約束,請在企業管理器中刪除sc表主鍵約束及外來鍵約束)將sc表中的sno,cno欄位設定為主鍵。

t-sql語句為:

alter table sc

add constraint pk_sc primary key(sno,cno)

3)為sc表中的sno,cno新增外來鍵約束,約束名自取;並允許級聯刪除與級聯更新。

新增外來鍵約束t-sql語句為:

alter table sc

add constraint fk_sno foreign key(sno) references student(sno)

on delete cascade on update cascade;

alter table sc

add constraint fk_cno foreign key(cno) references course(cno)

on delete cascade on update cascade

驗證級聯刪除與級聯更新t-sql語句:

(測試例項自編)

**select from student

where sno=『200200002』

select from sc

where sno=『200200001』

delete from student

where sno=『200200001』

select from student

where sno=『200200001』

selectfrom sc

where sno=『200200001』

2.通用預設值的實施

(1)使用企業管理器實現

1)使用企業管理器中為資料庫stu_course建立乙個預設的年齡,名稱自取,值為:19。

具體步驟如下:

2)將該預設值繫結到student表中的sage列。

具體步驟如下:

3)將sage列上的繫結解除,並在企業管理器中刪除該預設值。

具體步驟如下:

若未解除繫結,能否刪除預設值?

(2)使用t-sql語句實施預設值

1)為資料庫stu_course建立乙個關於性別的預設值,名稱自取,值為「女」。

t-sql語句為:

create default about_*** as '女』

2)將該預設值繫結到student表中的s***字段(原有的約束請刪除)

t-sql語句:

sp_bindefault about_*** ,"student.s***"

3)解除表student的s***列的預設值繫結,並刪除該預設值。

t-sql語句:

sp_unbindefault 『student.s***』

drop default about_***

3.規則的實施

(1)使用企業管理器實現

1)使用企業管理器為資料庫stu_course建立乙個關於性別的取值規則,規則名自取,要求欄位的取值僅能為『男』或『女』。

具體步驟如下:

2)將該規則繫結到student表的s***欄位上。

具體步驟如下:

3)解除student表的s***列上的繫結,並刪除該規則。

具體步驟如下:

(2)使用t-sql實施規則

1)為資料庫stu_course建立乙個關於學號的規則,名稱自取,學號的具體取值規則為:

a.學號前四位為2002。

b.學號後五位為數字字元。

t-sql語句為:

create rule rule_sno

as @range like』2002[0-9][0-9][0-9][0-9][0-9]'

2)將該規則繫結到表student表、sc表的sno列上。

t-sql語句為:

exec sp_bindrule 『rule_sno』,『student.sno』

exec sp_bindrule 『rule_sno』,'sc.sno』

3)解除所有的繫結,並刪除該規則。

t-sql語句為:

exec sp_unbindrule 『student.sno』

exec sp_unbindrule 'sc.sno』

資料庫實驗報告四 完整性控制

1.假設有下面兩個關係模式 職工 職工號,姓名,年齡,職務,工資,部門號 其中職工號為主碼 部門 部門號,名稱,經理名,其中部門號為主碼 用sql語言定義這兩個關係模式,要求在模式中完成以下完整性約束條件的定義 定義每個模式的主碼 定義參照完整性 定義職工年齡不得超過60歲。答 create tab...

Oracle資料庫實驗報告三 表及完整性定義

by qqc from btbu 實驗目的 1 掌握oracle建立表的方法,包括主鍵 外來鍵的新增等。2 熟悉oracle對完整性約束的定義。實驗內容 開啟命令列啟動oracle服務連線hr使用者 1.表book的結構如下,請在hr使用者下建立該錶 欄位名 中文釋義 資料型別 isbn 圖書編號 ...

資料庫實驗五 完整性

一 實驗目的 1 掌握資料庫約束的概念 2 熟悉 sql server 的完整性約束技術。3 了解 sql server 的違反完整性處理措施。二 實驗環境 windows下的sql 三 實驗內容 1.在前幾次實驗所使用的資料庫中新建乙個教師資訊表,表名為 teacher 字段包括 tno 教師編號...