資料庫完整性

2021-10-23 02:22:32 字數 2472 閱讀 7864

實驗六 資料庫完整性

一、實驗學時

2學時二、實驗目的

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

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

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

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

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

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

三、實驗要求

(1)硬體裝置:奔騰ii或奔騰ii以上計算機,區域網。

(2)軟體環境:windows 9x/nt、windows server、windows xp、windows 7、sql server 2000/2005/2008中文版企業版或標準版。

(3)實驗課前預習,課後及時完成實驗內容。

(4)實驗過程及記錄按題目格式要求填寫**清單。

四、實驗內容

資料完整性是指資料的正確性、完備性和一致性,是衡量資料庫***壞的重要標準。

資料完整性分為以下三類:

實體完整性:是指保證表中所有的行惟一。由主鍵約束來實現。

參照完整性:也叫引用完整性。參照完整性總是保證主關鍵字(被引用表)和外部關鍵字(引用表)之間的參照關係。它涉及兩個或兩個以上表資料的一致性維護。由外來鍵約束來實現。

使用者自定義完整性:是指使用者針對某一具體關聯式資料庫的資料必須滿足的語義要求。通常由check約束來實現。

1.完整性約束的新增、刪除

約束是強制資料完整性的首選方法。約束有6種型別:非空約束、預設值約束、check約束、主鍵約束、外來鍵約束、唯一性約束。

修改某些字段值檢驗有效性)

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

a. 學號前四位為2002。

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

t-sql語句為:

alter table student

add constraint ch_stu_sno

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_sc_sno foreign

key(sno) references student(sno)

on delete cascade

on update cascade

goalter table sc

add constraint fk_sc_cno foreign

key(cno) references course(cno)

on delete cascade

on update cascade

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

(測試例項自編)

2.通用預設值的實施

建乙個關於性別的預設值,名稱自取,值為「女」。

t-sql語句為:

use stu_course

gocreate default s***_df as 『女』

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

t-sql語句:

exec sp_bindefault 『s***_df』, 『student.s***』

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

t-sql語句:

exec sp_unbindefault 『student.s***』

drop default s***_df

3.規則的實施

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

a.學號前四位為2002。

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

t-sql語句為:

use stu_course

goalter table student

drop constraint ch_stu_sno

gocreate rule sno_rule

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

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

t-sql語句為:

exec sp_bindrule 『sno_rule』, 『student.sno』

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

t-sql語句為:

exec sp_unbindrule 『student.sno』

drop rule sno_rule

資料庫完整性

完整性約束條件 實體完整性給出了主鍵的取值的最低約束條件 規則是 主鍵的各個屬性都不能為空。參照完整性給出了在關係之間建立正確的聯絡的約束條件 規則是 外來鍵或者取空值 此時要求外來鍵的各個屬性均為空值 或者等於被參照關係中的主鍵的某個值。使用者自定義完整性 關係數控應用系統中的關係往往還應該滿足一...

資料庫完整性

資料的完整性和安全性 資料庫的完整性和安全性是兩個既有聯絡又不盡相同的概念。資料的完整性是為了防止資料庫中存在不符合語義的資料,也就是防止資料庫中存在不正確的資料。資料的安全性是保護資料庫防止惡意破壞和非法訪問。完整性檢查和控制的防範物件是不合語義的 不正確的資料,防止它們進入資料庫。安全性控制的方...

資料庫 完整性

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