創(chuàng)建視圖課件_第1頁
創(chuàng)建視圖課件_第2頁
創(chuàng)建視圖課件_第3頁
創(chuàng)建視圖課件_第4頁
創(chuàng)建視圖課件_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

創(chuàng)建視圖視圖【任務(wù)提出】

王寧已經(jīng)能夠熟練使用多表連接查詢實(shí)現(xiàn)“查詢20200101班選修“高等數(shù)學(xué)”課程且成績(jī)?cè)?0-90分的學(xué)生姓名、學(xué)號(hào)、班級(jí)號(hào)及成績(jī)”的題目。但是他發(fā)現(xiàn)頻繁用到這段代碼的時(shí)候需要重寫代碼、重新編譯、重新執(zhí)行,這種實(shí)現(xiàn)方式存在著代碼復(fù)用性差、效率低等缺點(diǎn)。

因此,王寧需要通過創(chuàng)建視圖來解決這些問題。視圖概念視圖是從一個(gè)或者幾個(gè)基本表或者視圖中導(dǎo)出的虛擬表,是從現(xiàn)有基表中抽取若干子集組成用戶的“專用表”,這種構(gòu)造方式必須使用SQL中的SELECT語句來實(shí)現(xiàn)在定義一個(gè)視圖時(shí),只是把其定義存放在數(shù)據(jù)庫中,并不直接存儲(chǔ)視圖對(duì)應(yīng)的數(shù)據(jù),直到用戶使用視圖時(shí)才去查找對(duì)應(yīng)的數(shù)據(jù)使用視圖的優(yōu)點(diǎn)簡(jiǎn)化對(duì)數(shù)據(jù)的操作自定義數(shù)據(jù)數(shù)據(jù)集中顯示導(dǎo)入和導(dǎo)出數(shù)據(jù)合并分割數(shù)據(jù)安全機(jī)制使用Navicat工具創(chuàng)建視圖例如:

為“gradem”數(shù)據(jù)庫創(chuàng)建一個(gè)視圖View_stud,要求連接student表、sc表和course表,視圖內(nèi)容包括所有男生的sno、sname、ssex、cname和degree。使用Navicat工具創(chuàng)建視圖操作步驟在Navicat中,連接到mysql服務(wù)器展開【mysql】|【gradem】|【視圖】,右鍵單擊該節(jié)點(diǎn),選擇【新建視圖】命令打開【視圖】對(duì)話框,選中【視圖創(chuàng)建工具】選項(xiàng)卡,將所需的表student、sc和course,拖入到右上側(cè)窗口中確定視圖中的輸出列。在此選擇student表中的“sno”、“sname”和“ssex”,sc表中的“degree”,course表中的“cname”使用Navicat工具創(chuàng)建視圖操作步驟設(shè)置3個(gè)表的連接條件設(shè)置視圖的條件單擊工具欄上的【保存】按鈕,在彈出的【視圖名】窗口中輸入視圖名稱“View_stud”,單擊【確定】按鈕即可完成語法格式CREATEVIEWview_name[(Column[,…n])]ASselect_statement[WITHCHECKOPTION];view_name:定義視圖名,其命名規(guī)則與標(biāo)識(shí)符的相同,并且在一個(gè)數(shù)據(jù)庫中要保證是唯一的,該參數(shù)不能省略Column:聲明視圖中使用的列名AS:說明視圖要完成的操作select_statement:定義視圖的SELECT命令WITHCHECKOPTION:強(qiáng)制所有通過視圖修改的數(shù)據(jù)滿足select_statement語句中指定的選擇條件參數(shù)說明:使用CREATEVIEW語句創(chuàng)建視圖【例1】在gradem數(shù)據(jù)庫中創(chuàng)建視圖VIEW_COURSECREATEVIEWVIEW_COURSEASSELECTCNO,CNAMEFROMCOURSE;【例2】在gradem數(shù)據(jù)庫中創(chuàng)建視圖VIEW_STUCREATEVIEWVIEW_STUASSELECT*FROMVIEW_COURSE;使用CREATEVIEW語句創(chuàng)建視圖【例3】有條件的視圖定義CREATEVIEWv_studentASSELECTA.sno,sname,cname,degreeFROMstudentA,courseB,scCWHEREA.sno=C.snoANDB.cno=C.cnoANDcname='數(shù)據(jù)庫';

定義視圖v_student,查詢所有選修數(shù)據(jù)庫課程的學(xué)生的學(xué)號(hào)(sno)、姓名(sname)、課程名稱(cname)和成績(jī)(degree)。使用CREATEVIEW語句創(chuàng)建視圖【例4】創(chuàng)建視圖VIEW_CJ,包括學(xué)號(hào)、課程名和成績(jī)字段USEgradem;CREATEVIEWVIEW_CJ(學(xué)號(hào),課程名,成績(jī))ASSELECTstudent.sno,cname,degreeFROMstudent,course,scWHEREstudent.sno=sc.snoANDo=o;使用CREATEVIEW語句創(chuàng)建視圖【例5】創(chuàng)建視圖VIEW_CJ_TJ,統(tǒng)計(jì)每位學(xué)生的總成績(jī)、平均成績(jī)CREATE

溫馨提示

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

評(píng)論

0/150

提交評(píng)論