實驗六 資料庫完整性
一、實驗學時
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...