數(shù)據(jù)庫約束、默認(rèn)、規(guī)則實驗報告.doc
《數(shù)據(jù)庫約束、默認(rèn)、規(guī)則實驗報告.doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫約束、默認(rèn)、規(guī)則實驗報告.doc(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
實驗五 約束默認(rèn)和規(guī)則 1、約束在數(shù)據(jù)庫中的應(yīng)用 (1)用系統(tǒng)存儲過程sp_helpconstraint查看student表的約束。 (2)在新建查詢中輸入插入一個學(xué)生信息的命令: insert into student(SNO,Sname,Sex,ClsNO,StuAddr,Birthday,Height) values(19920101,王軍,男,CS01,下關(guān)#,1976.12.21,1.76),觀察其結(jié)果。 修改SNO的值,將其值修改為’19000001’,其他的值保持不變,再插入一次,觀察其結(jié)果。 (3)修改studeng表,使用Check約束,使性別列只能接受“男”或“女”,以強制執(zhí)行域數(shù)據(jù)完整性。重做(1),觀察其結(jié)果。 (4)禁止student表中的sex列上的約束:alter table student nocheck constraint ck_student (5)刪除約束:alter table student drop constraint ck_xsqk。重做(1)。 (6)利用關(guān)系圖,建立student表與course表與grade表的主外鍵約束。 2、默認(rèn)的應(yīng)用 (1)創(chuàng)建默認(rèn)對象:default_birthday,默認(rèn)值為’1982-1-1’。 CREATE DEFAULT default_birthday AS ‘1982-01-01’ (2)利用系統(tǒng)存儲過程sp_bindefault將default_birthday綁定到student表的Birthday列上。 (3)利用系統(tǒng)存儲過程sp_unbindefault解除student表的Birthday列上的默認(rèn)值綁定。 (4)刪除默認(rèn)值:DROP DEFAULT default_birthday (5)定義一個默認(rèn)值為4的Default_Value,并將它綁定到course表的Credit列上,綁定后給course插入數(shù)據(jù)行,觀察默認(rèn)值的設(shè)置情況,使用完畢后,解除并刪除綁定。實現(xiàn)過程要求使用SQL語句完成。 3、規(guī)則的應(yīng)用 (1)利用企業(yè)管理器創(chuàng)建規(guī)則:規(guī)則名為:rule_credit_range,文本為:@range>=1 and @range<=8; (2)綁定規(guī)則:將rule_credit_range 綁定到Class表的course列上; (3)解除(2)中設(shè)置的規(guī)則綁定,刪除規(guī)則rule_ credit _range; (4)定義一個規(guī)則rule_Specialty,這個規(guī)則限制Class表中的Specialty列只能取以下的值:計算機應(yīng)用、信息管理、數(shù)學(xué)、物理。將該規(guī)則綁定到Class表后,向Class表插入數(shù)據(jù)行,觀察規(guī)則的設(shè)置情況,使用完畢后,解除并刪除該規(guī)則。 1、約束在數(shù)據(jù)庫中的應(yīng)用 1.1 SQL語句: exec sp_helpconstraint student 1.2 insert into student(SNO,Sname,Sex,ClsNO,StuAddr,Birthday,Height) values(19920101,王軍,男,CS01,下關(guān)#,1976.12.21,1.76) 消息2627,級別14,狀態(tài)1,第1 行 違反了PRIMARY KEY 約束PK_Student。不能在對象dbo.student 中插入重復(fù)鍵。 語句已終止。 insert into student(SNO,Sname,Sex,ClsNO,StuAddr,Birthday,Height) values(19920106,王華,男,CS01,下關(guān)#,1976.12.21,1.76) 1.3 SQL語句: alter table Student with nocheck add constraint check_sex check (Sex between 男 and 女) 1.4 SQL語句:alter table Student nocheck constraint check_sex 1.5 SQL語句:alter table Student drop constraint check_sex 1.6 SQL語句: /*創(chuàng)建主鍵*/ alter table Student add constraint pk_sno primary key(SNO); alter table Class add constraint pk_clsno primary key(ClsNO); alter table Course add constraint pk_cno primary key(CNO); 2、默認(rèn)的應(yīng)用 2.1 SQL語句:create default default_birthday AS 1982-01-01 2.2 SQL語句:exec sp_bindefault default_birthday , Student.birthday 2.3 SQL語句:exec sp_unbindefault Student.birthday 2.4 SQL語句:drop default default_birthday 3、規(guī)則的應(yīng)用 3.1 SQL語句: create rule rule_credit_range as @range between 1 and 8 exec sp_bindrule rule_credit_range , Course.Credit 3.4 SQL語句: create rule rule_Specialty as @Specialty in (計算機應(yīng)用,信息管理,數(shù)學(xué),物理) exec sp_bindrule rule_Specialty,Class.Specialty insert into Class values(PH09,物理八班,葛格,化學(xué)) 消息513,級別16,狀態(tài)0,第1 行 列的插入或更新與先前的CREATE RULE 語句所指定的規(guī)則發(fā)生沖突。該語句已終止。沖突發(fā)生于數(shù)據(jù)庫學(xué)生成績管理,表dbo.Class,列Specialty。 語句已終止。 SQL Server數(shù)據(jù)庫的實驗學(xué)習(xí)使我對數(shù)據(jù)庫的有了新的進步,以后再看到也就不至于什么也不懂,其實那么多數(shù)據(jù)庫我覺得學(xué)好一門就行,只是他們的語言可能不大一樣,學(xué)好一門后就可去認(rèn)識其它的,這樣應(yīng)該有事半功倍的效果。就像我學(xué)習(xí)C語言,當(dāng)時不能說是學(xué)習(xí)的棒,但不算差。所以我對以后的語言感覺都不是很困難,了解了VB、C++還有網(wǎng)頁中用的Html語言、asp語言都能看懂,起碼可以對別人的東西進行了一下修改。因此,我感謝數(shù)據(jù)庫老師給了我有用的知識,以便我在以后學(xué)習(xí)或認(rèn)識更多的內(nèi)容能有新的方法和思維,也能更加有效和快速的去消化吸收新的東西。希望在今后中,SQL Server能給我更多幫助。感謝學(xué)校開設(shè)這樣一門優(yōu)秀使用的課程,讓我對數(shù)據(jù)庫有了更深的了解。- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫 約束 默認(rèn) 規(guī)則 實驗 報告
鏈接地址:http://m.appdesigncorp.com/p-8077481.html