視圖和索引(數(shù)據(jù)庫實驗4)_第1頁
視圖和索引(數(shù)據(jù)庫實驗4)_第2頁
視圖和索引(數(shù)據(jù)庫實驗4)_第3頁
視圖和索引(數(shù)據(jù)庫實驗4)_第4頁
視圖和索引(數(shù)據(jù)庫實驗4)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)據(jù)庫基礎與實踐實驗報告實驗四視圖和索引班級:惠普測試142學號:1408090213姓名:閆偉明日期:2016-11-13實驗目的:1)掌握SQL進行視圖創(chuàng)建的方法;2)掌握SQL進行視圖更新的方法,理解視圖更新受限的原因;3)掌握SQL進行索引創(chuàng)建及刪除的方法。實驗平臺:操作系統(tǒng):Windowsxp。實驗環(huán)境:SQLServer2000以上版本。實驗內容與步驟利用實驗一創(chuàng)建的sch_id數(shù)據(jù)庫完成下列實驗內容。1.定義視圖V_TCS(定義時不加withcheckoption),存放全部計算機系老師的信息。視圖定義代碼:CREATEVIEWV_TCSASSELECTtno,tn,sex,a

2、ge,prof,sal,comm,T.dnoFROMT,DWHERET.dno=D.dnoANDD.dn=計算機視圖查詢語句與查詢結果截圖SELECT*FROMV_TCS5EHECT*FROMVICSJ結果消息tnctnsexagepnofsalcommdno1T1莊彗蝶女講師4290D12T3單雨童埶授44003D1定義視圖V_sal,存放全體教師的教師號,教師姓名,教師酬金(工資+崗位津貼),職稱信息。視圖定義代碼:CREATEVIEWV_salASSELECTtno教師號,tn教師姓名,sal+comm教師酬金,prof支撐信息FROMT視圖查詢語句與查詢結果截圖SELECT*FROMV

3、_salSELECT*FROM視圖查詢語句與查詢結果截圖SELECT*FROMV_salSELECT*FROMVsal二結果消息埶師號敎師姓茗埶師酬金支搓信息1T1莊彗蝶7S90講師2T2莊曉蝶畫講師3T3單雨童SODD斗T4單雨真44皿助教5T5王健林71DD畐燉攪GTG吳哥窟講師7T7張三4662STS劉偉353.7.6講師5T&3G&2.S副教授向V_TCS中插入一條計算機專業(yè)教師的新記錄,并查詢V_TCS視圖的全部記錄。視圖更新代碼:INSERTINTOV_TCSSELECTT10,良瑗,女,20,講師,6000,8000,D.dnoFROMDWHERED.dn=WHERED.dn=計

4、算機SELECTXFRCMvTC5消息ClCl行受13響)視圖查詢語句與查詢結果截圖SELECT*FROMV_TCSSELECT*FROMVTC5tnotnsexageprofsalcommdno1T1莊彗擦女S9講師血D30012T1D良諼玄20講師GflOD楓D13T2莊曉蝶女36講師46BD1斗T3.單雨童2G敎授44W31向V_TCS中插入一條信息專業(yè)教師的新記錄,并查詢V_TCS視圖的全部記錄。視圖更新代碼:INSERTINTOV_TCSSELECTT11,百里登風,男,21,講師,6000,8000,D.dnoFROMDWHERED.dn=信息$鳳男山工J師1,$鳳男山工J師1,0

5、00,E000,D.dnoSELECTIll百里FROMDHWHERED.dn=,消息4行受戢響)視圖查詢語句與查詢結果截圖:SELECT*FROMV_TCSSELECT*FROMTWHEREtno=T11SELE匚T*FROMVTC5SELECT*FROMTWHEREtncTilJ結果J消息tnotnsex.ageprafsalcommdno1T1莊夢蝶39講師42903fiOD12T1C良援玄20講師SDDD13T2莊曉蝶36講師3WQ14T3單雨童2GWC-3D1tnotnsexageprofsalaommdno1T11百里登鳳卑21講師6M8DDDD7修改V_TCS中的記錄,使得編號為

6、t2的教師的職稱為副教授。視圖更新代碼:UPDATEV_TCSSETprof=畐U教授WHEREtno=T2視圖查詢語句與查詢結果截圖:SELECT*FROMV_TCSWHEREtno=T26.定義視圖V_TCS_ck(定義時加withcheckoption),存放全部計算機系老師的信息,對比該視圖與V_TCS在進行數(shù)據(jù)更新時的差別。視圖定義代碼:CREATEVIEWV_TCS_ckASSELECTtno,tn,sex,age,prof,sal,comm,T.dnoFROMT,DWHERET.dno=D.dnoANDD.dn=計算機WITHCHECKOPTIONREATEVIEWV_T匚匚址A

7、SSELECTtno,tsex,agefprof,sal,conini,T.dnofromTrdHHmmHHBHHHBHHH訂豐SZZ.士二=D上二AXDD遷二i計算機,萬二二匚三乂三:ce二工沖.y、:.:;;處譏沖.-.5-V;、:勺:行號2吸*消息命令已成功完成,視圖更新對比實驗代碼及運行結果截圖-1.能插入INSERTINTOV_TCS_ckSELECTT12,良莠,女,20,講師,4000,4000,D.dnoFROMDWHERED.dn=計算機-2.不能插入(視圖CHECKOPTION約束)INSERTINTOV_TCS_ckSELECTT13,天明,男,25,講師,4000,40

8、00,D.dnoFROMDWHERED.dn=信息由消息-行受戢響消息細別!狀態(tài)S第E行試團進行的抽入或更新已失敗原因是目標視團或者目標視朗癒的某一視圃錠了CtHCKDPTICN,而該攆作的一個或務語句已終止。7.在課程C表的課程名屬性上按降序創(chuàng)建唯一索引I_cn。索引定義代碼:CREATEINDEXI_cnONC(cnDESC)運行結果截圖:命令已成功完成。命令已成功完成。8.刪除C表上的索引I_cn。索引刪除代碼:DROPINDEXC.I_cn運行結果截圖:命令已成功完成。命令已成功完成。深入思考與討論1)請先自己定義一個視圖,使定義該視圖的查詢中使用連接。再更新該視圖,觀察視圖更新受限情

9、況-1.定義:CREATEVIEWV_SCASSELECTsn,S.sno,cn,scoreFROMS,C,SCWHERES.sno=SC.snoANDC.cno=SC.cno-2.查詢:SELECT*FROMV_SCS1小三小紅12&4-5結杲消息涉童詢已成血執(zhí)行l(wèi)ocal(10.0艮sn呂仃cnscore笑笑引大學英語昭張明S1QC+NULL4張明SIDJAVANULLG張明S10PythonNULL7舐明SID大學數(shù)學NULL3小紅56JAVA769小翠S7C:i5S1D張明SID犬學英語NULL11張明SID馬克思NULL13張明SID埶據(jù)庫NULL14舐明SID線代NULL15張明S

10、ID語文NULL16小芳S2C:iNULLSELECT*FROMVE-3.均無法插入(插入影響到多張表):INSERTINTOV_SCVALUESINSERTINTOV_SCVALUESINSERTINTOV_SCVALUESINSERTINTOV_SCVALUES(笑笑,S1,JAVA,99)(笑笑,S1,RUBY,99)(良垣,S15,JAVA,99)(良莠,S1,JAVA,99)SCscsc5匸SCscsc5匸SI1K1JAVA1f99wHUBY1f95515,JAVA,99SIf1JAVAf99INSERTINSERTINSERTINSERTINTOVINTOVINTOVINTOVVA

11、LUESVALUESVALUESVALUES消息消息440B,級別記狀態(tài)1,第2L行視厠或函數(shù)冗耳不可更新,因為修改會影響夢個基表。SELECT*FROMV_SCWHEREsno=S14.可以更新(修改分數(shù)只影響到SC張表):UPDATEV_SCSETV_SC.score=99WHEREV_SC.cn=大學英語ANDV_SC.sno=S1SELECT*FROMV_SCWHEREsno=S1SELECT=*FROMVSCWHEREsno=511tKKtKttKKKKKt/KKtKKtKtKttKKUUPDATEVSCSETVSC.scQre=99WHESELECT*FROMVSCWHEREsno

12、=l5111結果一打消息snsnocnscone1.-yS1匚卄952S1尢學英語昶snsnocnscaiB1S1C-n-952七”騎mS1大學英語勢母葩已成財行n(local)(10.0RTMDESKTOP-0IJ1SSK-5.無法更新年齡(視圖V_SC不包含age列):UPDATEV_SCSETage=18WHEREV_SC.sno=S1UPDATEVSCSETage=18WHEREVSC.sno=SI1耐象名S匚無知消息吋級別嗎狀態(tài)-第1行列名,旳詁無效。-6.無法更新,修改會影響到S和SC兩張表:UPDATEVSCSETsn=韓笑,score=98WHEREVSC.sno=S1UPDA

13、TEVS匚SETsn=11fscore=9EWHEREV9匚.呂口二耳工Lj消息消息4405,級別狀態(tài)1第1行視圖或函數(shù)中_日不可更新,因為修改會影響多個基表。-7.將成績?yōu)镹ULL的課程名設為NULL,更新失?。ㄗ袷鼗鞢的cn列的NOTNULL約束):Lj消息UPDATEVSCSETc.n.=NU匚匚WHEREscore15NULLUPDATELj消息UPDATEVSCSETc.n.=NU匚匚WHEREscore15NULL消息叫級別皿狀態(tài)S第!行不能將值,皿匸插入列5表achid-diM.c列不允許有Mnii值。update失敗*語句已終止。2)請先自己定義一個視圖,使定義該視圖的查詢帶

14、分組和集函數(shù)。再更新該視圖,觀察視圖更新受限情況。-1.定義:CREATEVIEWV_SC_gpASSELECTsn,S.sno,AVG(score)avg_scoreFROMS,C,SCWHERES.sno=SC.snoANDC.cno=SC.cnoGROUPBYsn,S.snopRE直TEVIEWV_SC_gpASSELECTsnfS.snafJLVG(scareavgbc-qrefromsfcfscHHHHHlHHIWHERE5.sno=SC.snoANDC.c-ilq=SC.c-noGROUPBYsn,5siwWl_J消息命令已成功完成。-2.查詢:SELECT*FROMV_SC_gpSELECT*FFLOMVSGgpJ結果-J1消息ansnovg_scona1笑笑iS1972張明S10關3小芳S2734小三S39S5孫珊S477.2G小明57小紅S696小翠S7卑5李華S37U-3.無法插入:INSERTINTOV_SC_gpVALUES(劉靜,S8,88工兇呂ERT工兇TO占匚_qpVALUES(更1靜SEEE_J消息消息44叫級別樂狀態(tài)一第1行對視團或13數(shù)的更新或插入失敗,因其包含派生域或常量域。-4.無法更新(avg_score集函數(shù)列):UPDATEV_SC_gpSETavg_score=88WHEREsn=小明JPD

溫馨提示

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

評論

0/150

提交評論