數(shù)據(jù)庫實驗三數(shù)據(jù)更新等_第1頁
數(shù)據(jù)庫實驗三數(shù)據(jù)更新等_第2頁
數(shù)據(jù)庫實驗三數(shù)據(jù)更新等_第3頁
數(shù)據(jù)庫實驗三數(shù)據(jù)更新等_第4頁
數(shù)據(jù)庫實驗三數(shù)據(jù)更新等_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗五實驗報告一、實驗?zāi)康?.掌握實體完整性約束、參照完整性約束;2. 靈活應(yīng)用完整性約束3. 了解觸發(fā)器在的應(yīng)用4. 理解索引的功能和運(yùn)用并掌握索引的建立方法;二、實驗內(nèi)容5.1 實體完整性1)在數(shù)據(jù)庫school中建立表stu_union,進(jìn)行主鍵約束,在沒有違反實體完整性的前提下插入并更新一條記錄建立表stu_union,進(jìn)行主鍵約束在沒有違反實體完整性的前提下插入一條記錄在沒有違反實體完整性的前提下更新一條記錄2)演示違反實體完整性的插入操作3)演示違反實體完整性的更新操作4)演示事務(wù)的處理,包括事務(wù)的建立,處理以及出錯時的事務(wù)回滾,演示事務(wù)處理和批處理的區(qū)別。提示:sql2005相關(guān)

2、語句為begin tranrollback trancommit tran可以這樣演示:新建一個包含兩條語句的事務(wù),使第一條成功而第二條失敗,然后查看整個事務(wù)是否回滾。重要提示:sql默認(rèn)只回滾出錯的語句,要回滾整個事務(wù),需要預(yù)先執(zhí)行以下語句:set xact_abort ona. 先執(zhí)行如下sql語句(可執(zhí)行成功)b. 再執(zhí)行如下語句,此時為執(zhí)行第一句insert語句成功,第二句insert語句失敗c. 查詢事物是否回滾由上可知,表為b步驟即事物出錯前的狀態(tài),所以整個事物回滾。5)通過建立scholarship表,插入一些數(shù)據(jù)。演示當(dāng)與現(xiàn)有的數(shù)據(jù)環(huán)境不等時,無法建立實體完整性以及參照完整性。

3、提示:即演示不能為表scholarship生成主鍵和外鍵的情況。a.b. 不能為表scholarship生成主鍵c 不能為表scholarship生成外鍵5.2參照完整性1)為演示參照完整性,建立表course,令cno為其主鍵,并在stu_union中插入數(shù)據(jù)。為下面的實驗步驟做預(yù)先準(zhǔn)備。在stu_union中插入數(shù)據(jù)建立表course,令cno為其主鍵2)建立表sc,另sno和cno分別為參照stu_union表以及course表的外鍵,設(shè)定為級連刪除,并令(sno, cno)為其主鍵。在不違反參照完整性的前提下,插入數(shù)據(jù)。3)演示違反參照完整性的插入數(shù)據(jù)4)在stu_union中刪除數(shù)據(jù)

4、,演示級連刪除。5)course中刪除數(shù)據(jù),演示級連刪除 。6)為了演示多重級連刪除,建立stu_card表,令stu_id為參照stu_union表的外鍵,令card_id為其主鍵,并插入數(shù)據(jù)。7)為了演示多重級連刪除,建立icbc_card表,令stu_card_id為參照stu_card表的外鍵,令bank_id為其主鍵,并插入數(shù)據(jù)。8)通過刪除stu_union表中的一條記錄,演示三個表的多重級連刪除。未刪除時刪除stu_union記錄sno=10004結(jié)果:9)演示事務(wù)中進(jìn)行多重級連刪除失敗的處理。修改icbc_card表的外鍵屬性,使其變?yōu)閛n delete no action,

5、演示事務(wù)中通過刪除stu_union表中的一條記錄,多重級連刪除失敗,整個事務(wù)回滾到事務(wù)的初始狀態(tài)。修改外鍵屬性:事務(wù)中多重級連刪除失敗查詢事務(wù)回滾5.3索引的建立和作用1. 實驗?zāi)康膶W(xué)會在sql server中建立索引通過本實驗體會覆蓋索引的作用,在以后的實踐中,能適時地使用覆蓋索引來提高數(shù)據(jù)庫的性能。通過實驗體會聚簇索引的優(yōu)缺點,學(xué)會根據(jù)具體情況創(chuàng)建聚簇索引2. 實驗內(nèi)容1) students(sid,sname,email,grade)在sname上建立聚簇索引,grade上建立非聚簇索引,并分析所遇到的問題分析問題:1.cluster后要ed2.要刪除本來存在的聚集索引,在刪除前應(yīng)先移

6、除主鍵2) 數(shù)據(jù)庫school的選課表choices有如下結(jié)構(gòu):choices(no,sid,tid,cid,score)假設(shè)選課表集中用于查詢分析,經(jīng)常執(zhí)行統(tǒng)計某課程修讀的學(xué)生人數(shù)查詢訪問要求:a 首先執(zhí)行沒有索引的實驗(設(shè)數(shù)據(jù)庫choices表在cid列上沒有索引)b 然后做有索引的實驗cd 對比試驗結(jié)果,并進(jìn)行分析對比查詢同一條指令占用時間可得,建立索引后查詢快得多。3) 以數(shù)據(jù)庫school中choices表為例,設(shè)建表時考慮到以后經(jīng)常有一個用sid查詢此學(xué)生所有選課信息的查詢,考慮到一般學(xué)生不止選一門課,且要詢問這些記錄的所有信息,故在sid上建立索引,使相同sid的記錄存在一起,取

7、數(shù)據(jù)頁面時能一起取出來,減少數(shù)據(jù)頁面的存取次數(shù)要求:a 首先執(zhí)行沒有任何索引的情況b 在sid上建有非聚簇索引的情況c 在sid上建有聚簇索引的情況d 對比實驗結(jié)果,并進(jìn)行分析答:建立索引比沒有建立索引查詢要來得快,理論上聚簇索引應(yīng)比非聚簇索引快,但由以上實驗中,兩者并無多大差別。5.4 觸發(fā)器的建立和使用實驗?zāi)康模和ㄟ^實驗使學(xué)生加深對數(shù)據(jù)完整性的理解,學(xué)會創(chuàng)建和使用觸發(fā)器實驗內(nèi)容:1) 創(chuàng)建teacher(tno,tname,tsex,tage,tdept)表,并自定義2個約束u1和u2,其中u1規(guī)定tname字段唯一,u2規(guī)定tage上限是28.為teacher表建立觸發(fā)器t1,當(dāng)插入或更新表中的數(shù)據(jù)時,保證所操作的記錄的tage值大于0,并插入幾條數(shù)據(jù).2) 為teacher表建立觸發(fā)器t2,禁止刪除編號s01的校長。3) teacher表中的人員的編號是唯一且不可變更的,創(chuàng)建觸發(fā)器實現(xiàn)更新中編號的不可改變性。4) 設(shè)置一個觸發(fā)器,該觸發(fā)器僅允許“dbo”用戶可以刪除teacher表內(nèi)的數(shù)據(jù),否則出錯。5) 設(shè)置一個針對teacher表的觸發(fā)器,當(dāng)有人更新teachder表時,觸發(fā)器將自動將該操作者的名稱和操作時間記錄在一張表內(nèi),以便追查。三、實驗總結(jié) 通過本次實驗,我進(jìn)一步理解掌

溫馨提示

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

最新文檔

評論

0/150

提交評論