九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

數(shù)據(jù)庫實驗報告- 數(shù)據(jù)完整性

上傳人:仙*** 文檔編號:141771238 上傳時間:2022-08-24 格式:DOC 頁數(shù):14 大?。?74KB
收藏 版權(quán)申訴 舉報 下載
數(shù)據(jù)庫實驗報告- 數(shù)據(jù)完整性_第1頁
第1頁 / 共14頁
數(shù)據(jù)庫實驗報告- 數(shù)據(jù)完整性_第2頁
第2頁 / 共14頁
數(shù)據(jù)庫實驗報告- 數(shù)據(jù)完整性_第3頁
第3頁 / 共14頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)庫實驗報告- 數(shù)據(jù)完整性》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫實驗報告- 數(shù)據(jù)完整性(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、數(shù)據(jù)庫技術(shù)與應用實驗 實驗6 數(shù)據(jù)完整性實驗6 數(shù)據(jù)完整性一、實驗目的 1掌握Transact-SQL語句(CREATE RULE、DROP RULE)創(chuàng)建和刪除規(guī)則的方法。 2掌握系統(tǒng)存儲過程sp_bindrule、sp_unbindrule綁定和解除綁定規(guī)則的操作方法,以及sp_help、sp_helptext查詢規(guī)則信息、sp_rename更名規(guī)則的方法。 3掌握Transact-SQL語句(CREATE DEFAULT、DROPDEFAULT)創(chuàng)建和刪除默認對象的方法。4掌握系統(tǒng)存儲過程sp_bindefault、sp_unbindefault綁定和解除綁定默認對象的操作方法,以及sp

2、_helptext查詢規(guī)則信息。5掌握SQL Server管理平臺和Transact-SQL語句(CREATE TABLE、ALTER TABLE)定義和刪除約束的方法,并了解約束的類型。二、實驗內(nèi)容和步驟 1為studentsdb數(shù)據(jù)庫創(chuàng)建一個規(guī)則,限制所輸入的數(shù)據(jù)為7位09的數(shù)字。 (1)復制學生表命名為stu_phone,在stu_phone表中插入一列,列名為“電話號碼”。完成以下代碼實現(xiàn)該操作。 SELECT * INTO stu_phone FROM 學生表 ALTER TABLE stu_phone ADD 電話號碼 CHAR(7)NULLstu_phone表結(jié)構(gòu)如圖1-10所示

3、。圖1-10 stu_phone表結(jié)構(gòu)SELECT * INTO stu_phone FROM 學生表ALTER TABLE stu_phone ADD 電話號碼CHAR(7)NULL(2)創(chuàng)建一個規(guī)則phone_rule,限制所輸入的數(shù)據(jù)為7位09的數(shù)字。CREATE rule phone_ruleAS電話號碼LIKE 0-90-90-90-90-90-90-9檢驗:電話號碼為8位時無法插入!電話號碼為7位時可以插入!(3)使用系統(tǒng)存儲過程sp_hndrule將phone_rule規(guī)則綁定到stu_phone表的“電話號碼”列上。sp_hndrule phone_rule , stu_pho

4、ne.電話號碼(4)插入操作輸入以下數(shù)據(jù):學號 姓名 電話號碼 0009 王國強 1234yyy是否可以成果插入?如果出現(xiàn)錯誤,請列出錯誤信息,為什么會產(chǎn)生該出錯信息?如果要實現(xiàn)插入操作,應修改INSERT INTO語句中的哪個值?phone_rule規(guī)則能否對其他操作(如DELETE)進行規(guī)則檢查?INSERT INTO stu_phone(學號,姓名,電話號碼) VALUES(0009,王國強,1234yyy)錯誤信息:消息513,級別16,狀態(tài)0,第1 行列的插入或更新與先前的CREATE RULE 語句所指定的規(guī)則發(fā)生沖突。該語句已終止。沖突發(fā)生于數(shù)據(jù)庫studentsdb,表dbo.

5、stu_phone,列電話號碼。語句已終止。修改后:INSERT INTO stu_phone(學號,姓名,電話號碼) VALUES(0009,王國強,1234yyy)phone_rule規(guī)則能否對其他操作(如DELETE)進行規(guī)則檢查?可以2創(chuàng)建一個規(guī)則stusex_rule,將其綁定到stu_phone表的“性別”列上,保證輸入的性別值只能是“男”或“女”。CREATE rule stusex_ruleAS性別in (男,女)sp_bindrule stusex_rule , stu_phone.性別3使用系統(tǒng)存儲過程sp_help查詢stusex_rule規(guī)則列表,使用sp_helpte

6、xt查詢stusex_rule規(guī)則的文本,使用sp_rename將stusex_rule規(guī)則更名為stu_s_rule。sp_help stusex_rulesp_helptext stusex_rulesp_rename stusex_rule,stu_s_rule4刪除stu_s_rule規(guī)則。先解除綁定:sp_unbindrule stu_s_rule, stu_phone.性別再刪除規(guī)則:drop rule stu_s_rule注意:stu_s_ rule為stusex_ rule更名后規(guī)則名,是否仍然綁定在stu_phone表的“性別”列上,應如何操作才能刪除它。 5在student

7、db數(shù)據(jù)庫中,建立日期、貨幣和字符等數(shù)據(jù)類型的默認對象。 (1)創(chuàng)建默認對象df_date、df_char、df_money。l 創(chuàng)建日期型默認對象df_date,默認日期為2006-4-12。l 創(chuàng)建字符型默認對象df_char,默認字符為“unknown”l 創(chuàng)建貨幣型默認對象df_money,默認為100元CREATE DEFAULT df_dateAS 2009-4-12GOCREATE DEFAULT df_charAS unknownGOCREATE DEFAULT df_money AS $100GO(2)在studentsdb數(shù)據(jù)庫中創(chuàng)建stu_fee數(shù)據(jù)表。學號 char(1

8、0) NOT NULL姓名 char(8) NOT NULL,學費 money交費日期 datetime電話號碼 char(7)表stu_fee的數(shù)據(jù)結(jié)構(gòu)如圖1-11所示。學號姓名性別交費日期電話號碼圖l-11 stu_fee的數(shù)據(jù)結(jié)構(gòu)CREATE TABLE stu_fee(學號char(10) NOT NULL,姓名char()NOT NULL,學費money,交費日期datetime,電話號碼char()(3)使用系統(tǒng)存儲過程sp_bindefault將默認對象df_date、df_char、df_money分別綁定在stu_fee表的“學費”、“交費日期”、“電話號碼”列上。sp_bi

9、ndefault df_money,stu_fee.學費GOsp_bindefault df_date,stu_fee.交費日期GOsp_bindefault df_char,stu_fee.電話號碼GO(4) 輸入命令,在stu_fee表進行插入操作:(學號,姓名) values (0001,劉衛(wèi)平)(學號,姓名,學費) values (0001,張衛(wèi)民,$120)(學號,姓名,學費,交費日期) values (0001,馬東,$110,2006-5-12)分析stu_fee表中插入記錄的各列的值是什么?INSERT INTO stu_fee(學號,姓名) VALUES(0001,劉衛(wèi)平)I

10、NSERT INTO stu_fee(學號,姓名,學費)VALUES(0001,張衛(wèi)民,$120)INSERT INTO stu_fee(學號,姓名,學費,交費日期) VALUES(0001,馬東,$110,2006-5-12)各列值為:劉衛(wèi)平,張衛(wèi)民的交費日期為默認值(5)完成以下代碼解除默認對象df_char、df_date、df_money的綁定,并刪除之。sp_unbindefault stu_fee.電話號碼DROP DEFAULT df_charsp_unbindefault stu_fee.交費日期DROP DEFAULT df_datesp_unbindefault stu_f

11、ee.學費DROP DEFAULT df_money6為學生表添加一列,命名為“院系”,創(chuàng)建一個默認對象stu_d_df,將其綁定到學生表的“院系”列上,使其默認值為“信息院”,對學生表進行插入操作,操作完成后,刪除該默認對象。SELECT * FROM 學生表ALTER TABLE 學生表ADD 院系CHAR(8) NULLCREATE DEFAULT stu_d_df AS 信息院sp_bindefault stu_d_df,學生表.院系INSERT INTO 學生表(學號,姓名) VALUES(3244,郭冰驊)sp_unbindefault 學生表.院系DROP DEFAULT stu

12、_d_df 7在studentsdb數(shù)據(jù)庫中用CREATE TABLE語句創(chuàng)建表stu_con,并同時創(chuàng)建約束。 (1)創(chuàng)建表的同時創(chuàng)建約束。表結(jié)構(gòu)如圖1-12所示。 圖1-12 要創(chuàng)建的表的結(jié)構(gòu)約束要求如下: 將學號設置為主鍵(PRIMARY KEY),主鍵名為pk_sid。 為姓名添加唯一約束(UNIQUE),約束名為uk_name。 為性別添加默認約束(DEFAULT),默認名稱為df_sex,其值為“男” 為出生日期添加屬性值約束(CHECK),約束名為ck_bday,其檢查條件為:出生日期1988-1-1。(2)在stu_con表中插入如表1-1所示的數(shù)據(jù)記錄。 表1-1 在stu_

13、con表中插入的數(shù)據(jù)學號姓名性別出生日期家庭住址0009張小東1989-4-60010李梅男1983-8-50011王強1988-9-100012王強1989-6-3 分析各約束在插入記錄時所起的作用,查看插入記錄后表中數(shù)據(jù)與所插入的數(shù)據(jù)是否一致?CREATE TABLE stu_con (學號char(4) NOT NULL CONSTRAINT pk_sid PRIMARY KEY , 姓名char(8) NOT NULL CONSTRAINT uk_name UNIQUE, 學費money, 性別char(2) CONSTRAINT df_sex DEFAULT (男), 出生日期dat

14、etime CONSTRAINT ck_bday CHECK (出生日期1988-1-1), 家庭住址char(50)INSERT INTO stu_con(學號,姓名,出生日期) VALUES(0009,張小東,1989-4-6)INSERT INTO stu_con(學號,姓名,性別,出生日期)VALUES(0010,李梅,男,1983-8-5)INSERT INTO stu_con(學號,姓名,出生日期) VALUES(0011,王強,1988-9-10)INSERT INTO stu_con(學號,姓名,出生日期) VALUES(0012,王強,1989-6-3)運行結(jié)果:(1 行受影

15、響)消息547,級別16,狀態(tài)0,第2 行INSERT 語句與CHECK 約束ck_bday沖突。該沖突發(fā)生于數(shù)據(jù)庫studentsdb,表dbo.stu_con, column 出生日期。語句已終止。(1 行受影響)消息2627,級別14,狀態(tài)1,第4 行違反了UNIQUE KEY 約束uk_name。不能在對象dbo.stu_con 中插入重復鍵。語句已終止。(3)使用ALTER TABLE語句的DROP CONSTRAINT參數(shù)項在查詢分析器中刪除為stu_con表所建的約束。ALTER TABLE stu_conDROP CONSTRAINT pk_sidALTER TABLE stu

16、_conDROP CONSTRAINT uk_nameALTER TABLE stu_conDROP CONSTRAINT df_sexALTER TABLE stu_conDROP CONSTRAINT ck_bday8用SQL Server管理平臺完成實驗內(nèi)容7的所有設置。出現(xiàn)問題!只能出現(xiàn)張小東的信息9. 在查詢分析器中,為studentsdb數(shù)據(jù)庫的成績表添加外鍵約束(FOREIGN KEY),要求將“學號”設置為外鍵,參照表為學生表,外鍵名稱為fk_sid。ALTER TABLE 成績表ADD CONSTRAINT fk_sidFOREIGN KEY(學號) references 學

17、生表(學號)注意:學生表里的學號一定要與成績表中的學號對應,否則會報錯沖突使用系統(tǒng)存儲過程sp_help查看grade表的外鍵信息。sp_help 成績表 在成績表中插入表1-2所示記錄,觀察SQLServer會做何處理,為什么?如何解決所產(chǎn)生的問題?表1-2學號課程編號分數(shù)0100000178INSERT INTO 成績表(學號,課程編號,分數(shù)) VALUES(0010,0001,78)出現(xiàn)問題:消息547,級別16,狀態(tài)0,第2 行INSERT 語句與FOREIGN KEY 約束fk_sid沖突。該沖突發(fā)生于數(shù)據(jù)庫studentsdb,表dbo.學生表, column 學號。語句已終止。解

18、決問題:在學生表中先插入一個學號為0010的學生信息使用查詢分析器刪除成績表的外鍵fk_sid。ALTER table 成績表DROP CONSTRAINT fk_sid四、實驗思考1在SQLServer 2005中,可采用哪些方法實現(xiàn)數(shù)據(jù)完整性?答:數(shù)據(jù)類型、主鍵、外鍵、默認值、約束與規(guī)則2,比較默認對象和默認約束的異同。答:相同點:默認對象與默認約束功能相似。默認值可以在沒有指定具體數(shù)據(jù)的列中自動插入數(shù)據(jù)。默認約束是通過定義列的默認值或使用數(shù)據(jù)庫的默認值對象綁定表的列,以確保在沒有為某列指定數(shù)據(jù)時,來指定列的值。每列只能有一個默認約束一個默認值不同點:默認對象與CREAT TABLE 和ALTER TABLE語句一起使用,而默認約束只能用于INSERT語句。3.在數(shù)據(jù)庫中建立的規(guī)則不綁定到到數(shù)據(jù)表的字段上會起作用嗎?為什么? 答:不會規(guī)則僅僅只是一個存在與數(shù)據(jù)庫中的對象,并未發(fā)生作用。14南京師范大學中北學院

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!