數據庫實驗-完整性-索引-觸發器_第1頁
數據庫實驗-完整性-索引-觸發器_第2頁
數據庫實驗-完整性-索引-觸發器_第3頁
數據庫實驗-完整性-索引-觸發器_第4頁
數據庫實驗-完整性-索引-觸發器_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上實驗五實驗報告二、實驗內容5.1 實體完整性1)在數據庫School中建立表Stu_Union,進行主鍵約束,在沒有違反實體完整性的前提下插入并更新一條記錄建立表Stu_Union,進行主鍵約束在沒有違反實體完整性的前提下插入一條記錄在沒有違反實體完整性的前提下更新一條記錄2)演示違反實體完整性的插入操作3)演示違反實體完整性的更新操作4)演示事務的處理,包括事務的建立,處理以及出錯時的事務回滾,演示事務處理和批處理的區別。提示:SQL2005相關語句為BEGIN TRANROLLBACK TRANCOMMIT TRAN可以這樣演示:新建一個包含兩條語句的事務,使第一

2、條成功而第二條失敗,然后查看整個事務是否回滾。重要提示:SQL默認只回滾出錯的語句,要回滾整個事務,需要預先執行以下語句:SET XACT_ABORT ONa. 先執行如下SQL語句(可執行成功)b. 再執行如下語句,此時為執行第一句insert語句成功,第二句insert語句失敗c. 查詢事物是否回滾由上可知,表為b步驟即事物出錯前的狀態,所以整個事物回滾。5)通過建立Scholarship表,插入一些數據。演示當與現有的數據環境不等時,無法建立實體完整性以及參照完整性。提示:即演示不能為表Scholarship生成主鍵和外鍵的情況。a.b. 不能為表Scholarship生成主鍵c 不能為

3、表Scholarship生成外鍵5.2參照完整性1)為演示參照完整性,建立表Course,令cno為其主鍵,并在Stu_Union中插入數據。為下面的實驗步驟做預先準備。在Stu_Union中插入數據建立表Course,令cno為其主鍵2)建立表sc,另sno和cno分別為參照Stu_Union表以及Course表的外鍵,設定為級連刪除,并令(sno, cno)為其主鍵。在不違反參照完整性的前提下,插入數據。3)演示違反參照完整性的插入數據4)在Stu_Union中刪除數據,演示級連刪除。5)Course中刪除數據,演示級連刪除 。6)為了演示多重級連刪除,建立Stu_Card表,令stu_i

4、d為參照Stu_Union表的外鍵,令card_id為其主鍵,并插入數據。7)為了演示多重級連刪除,建立ICBC_Card表,令stu_card_id為參照Stu_Card表的外鍵,令bank_id為其主鍵,并插入數據。8)通過刪除stu_union表中的一條記錄,演示三個表的多重級連刪除。未刪除時刪除stu_union記錄sno=10004結果:9)演示事務中進行多重級連刪除失敗的處理。修改ICBC_Card表的外鍵屬性,使其變為On delete No action, 演示事務中通過刪除stu_union表中的一條記錄,多重級連刪除失敗,整個事務回滾到事務的初始狀態。修改外鍵屬性:事務中多

5、重級連刪除失敗查詢事務回滾5.3索引的建立和作用1. 實驗目的學會在SQL SERVER中建立索引通過本實驗體會覆蓋索引的作用,在以后的實踐中,能適時地使用覆蓋索引來提高數據庫的性能。通過實驗體會聚簇索引的優缺點,學會根據具體情況創建聚簇索引2. 實驗內容1) STUDENTS(sid,sname,email,grade)在sname上建立聚簇索引,grade上建立非聚簇索引,并分析所遇到的問題分析問題:1.Cluster后要ed2.要刪除本來存在的聚集索引,在刪除前應先移除主鍵2) 數據庫SCHOOL的選課表CHOICES有如下結構:CHOICES(no,sid,tid,cid,score)

6、假設選課表集中用于查詢分析,經常執行統計某課程修讀的學生人數查詢訪問要求:A 首先執行沒有索引的實驗(設數據庫CHOICES表在cid列上沒有索引)B 然后做有索引的實驗CD 對比試驗結果,并進行分析對比查詢同一條指令占用時間可得,建立索引后查詢快得多。3) 以數據庫SCHOOL中CHOICES表為例,設建表時考慮到以后經常有一個用sid查詢此學生所有選課信息的查詢,考慮到一般學生不止選一門課,且要詢問這些記錄的所有信息,故在sid上建立索引,使相同sid的記錄存在一起,取數據頁面時能一起取出來,減少數據頁面的存取次數要求:A 首先執行沒有任何索引的情況B 在sid上建有非聚簇索引的情況C 在

7、sid上建有聚簇索引的情況D 對比實驗結果,并進行分析答:建立索引比沒有建立索引查詢要來得快,理論上聚簇索引應比非聚簇索引快,但由以上實驗中,兩者并無多大差別。5.4 觸發器的建立和使用實驗目的:通過實驗使學生加深對數據完整性的理解,學會創建和使用觸發器實驗內容:1) 創建Teacher(Tno,Tname,Tsex,Tage,Tdept)表,并自定義2個約束U1和U2,其中U1規定Tname字段唯一,U2規定Tage上限是28.為Teacher表建立觸發器T1,當插入或更新表中的數據時,保證所操作的記錄的Tage值大于0,并插入幾條數據.2) 為Teacher表建立觸發器T2,禁止刪除編號s01的校長。3) Teacher表中的人員的編號是唯一且不可變更的,創建觸發器實現更新中編號的不可改變性。4) 設置一個觸發器,該觸發器僅允許“dbo”用戶可以刪除Teacher表內的數據,否則出錯。5) 設置一個針對Teacher表的觸發

溫馨提示

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

評論

0/150

提交評論