MySQL數(shù)據(jù)庫(kù)應(yīng)用項(xiàng)目式教程課件:認(rèn)識(shí)并創(chuàng)建視圖_第1頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用項(xiàng)目式教程課件:認(rèn)識(shí)并創(chuàng)建視圖_第2頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用項(xiàng)目式教程課件:認(rèn)識(shí)并創(chuàng)建視圖_第3頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用項(xiàng)目式教程課件:認(rèn)識(shí)并創(chuàng)建視圖_第4頁(yè)
MySQL數(shù)據(jù)庫(kù)應(yīng)用項(xiàng)目式教程課件:認(rèn)識(shí)并創(chuàng)建視圖_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

認(rèn)識(shí)并創(chuàng)建視圖

認(rèn)識(shí)視圖視圖是從一個(gè)或多個(gè)表中導(dǎo)出來(lái)的表,它是一種虛擬存在的表,表的結(jié)構(gòu)和數(shù)據(jù)都依賴(lài)于基本表,包含一系列動(dòng)態(tài)生成的行和列數(shù)據(jù)。創(chuàng)建視圖時(shí)所引用的表稱(chēng)為基表。與直接操作基表相比,視圖具有以下優(yōu)點(diǎn):(1)簡(jiǎn)單(2)安全(3)邏輯數(shù)據(jù)獨(dú)立本節(jié)內(nèi)容1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖2.使用圖形管理工具創(chuàng)建視圖01使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖

基于SELECT語(yǔ)句和已存在的數(shù)據(jù)表,視圖可以建立在一張表上,也可以建立在多張表上,本任務(wù)運(yùn)用SQL語(yǔ)句創(chuàng)建單源表視圖。【任務(wù)描述】創(chuàng)建studb數(shù)據(jù)庫(kù)上基于student表的視圖“view_stuifo”,包括“信息工程系”學(xué)生的sno、sname、birthday、class和total_credits。1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖【任務(wù)分析和知識(shí)儲(chǔ)備】1.CREATEVIEW語(yǔ)句的基本語(yǔ)法格式視圖依賴(lài)于基本表,創(chuàng)建studb數(shù)據(jù)庫(kù)上基于student表的視圖view_stuifo,在MySQL中,需要使用CREATEVIEW語(yǔ)句創(chuàng)建視圖,其基本語(yǔ)法格式為:CREATE[ORREPLACE]VIEW<視圖名>[<列名列表>]ASSELECT語(yǔ)句[WITH[CASCADED|LOCAL]CHECKOPTION];語(yǔ)法說(shuō)明:列名列表:要想為視圖的列定義明確的名稱(chēng),可使用可選的列名列表子句,列出由逗號(hào)隔開(kāi)的列名。列名列表中的名稱(chēng)數(shù)目必須等于SELECT語(yǔ)句檢索的列數(shù)。若使用與源表或視圖中相同的列名,可以省略列名列表。ORREPLACE:給定ORREPLACE子句,語(yǔ)句能夠替換已有的同名視圖。SELECT語(yǔ)句:用來(lái)創(chuàng)建視圖的SELECT語(yǔ)句,可在SELECT語(yǔ)句中查詢(xún)多個(gè)表或視圖。WITHCHECKOPTION:這一項(xiàng)是可選的,如果加上這一行,表示在視圖更新時(shí),會(huì)檢查SELECT語(yǔ)句所指定的視圖規(guī)則,不符合視圖規(guī)則的記錄不能更新。當(dāng)視圖根據(jù)另一個(gè)視圖定義時(shí),WITHCHECKOPTION給出LOCAL和CASCADED兩個(gè)關(guān)鍵字,它們決定了檢查測(cè)試的范圍,CASCADED關(guān)鍵字會(huì)檢查底層視圖規(guī)則,LOCAL關(guān)鍵字只檢查當(dāng)前視圖的規(guī)則,如果未給定任一關(guān)鍵字,則默認(rèn)為CASCADED。1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖視圖中使用SELECT語(yǔ)句的限制定義視圖的用戶(hù)必須對(duì)所參照的表或視圖有查詢(xún)權(quán)限(即可執(zhí)行SELECT語(yǔ)句的權(quán)限);在定義中引用的表或視圖必須存在。不能包含F(xiàn)ROM子句中的子查詢(xún),不能引用系統(tǒng)或用戶(hù)變量,不能引用預(yù)處理語(yǔ)句參數(shù)。在視圖定義中允許使用ORDERBY子句,但是,如果從特定視圖進(jìn)行了選擇,而該視圖使用了具有自己ORDERBY子句的語(yǔ)句,則視圖定義中的ORDERBY子句將被忽略。查詢(xún)視圖視圖創(chuàng)建完成后,我們可通過(guò)SELECT語(yǔ)句查詢(xún)視圖,其基本語(yǔ)法格式與查詢(xún)基本表相同,之前已經(jīng)講述,在此不再重復(fù)。1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖

【任務(wù)實(shí)施】(1)打開(kāi)Navicat集成開(kāi)發(fā)環(huán)境。(2)在Navicat中連接MySQL中的studb數(shù)據(jù)庫(kù),在查詢(xún)編輯器窗口輸入以下SQL語(yǔ)句并運(yùn)行,創(chuàng)建視圖view_stuifo,如圖所示。CREATEVIEWview_stuifoASSELECTsno,sname,birthday,class,total_creditsFROMstudentwheredept='信息工程系';1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖(3)輸入以下SQL語(yǔ)句并運(yùn)行,查詢(xún)視圖的記錄數(shù)據(jù),如圖所示。SELECT*FROMview_stuifo;1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖

【任務(wù)總結(jié)】

創(chuàng)建視圖要求用戶(hù)具有CREATEVIEW權(quán)限,以及查詢(xún)涉及的列的SELECT權(quán)限。視圖創(chuàng)建后,MySQL就會(huì)在數(shù)據(jù)庫(kù)目錄中創(chuàng)建一個(gè)“視圖名.frm”文件。1.使用CREATEVIEW語(yǔ)句創(chuàng)建單源表視圖操作演示02使用圖形管理工具創(chuàng)建視圖2.使用圖形管理工具創(chuàng)建視圖本任務(wù)運(yùn)用Navicat圖形管理工具創(chuàng)建多源表視圖。

【任務(wù)描述】創(chuàng)建名為“view_stusc”的視圖,該視圖包括student表中信息工程系學(xué)生的sno、sname、class、total_credits、cno、grade和cname。

2.使用圖形管理工具創(chuàng)建視圖多源表視圖是指視圖的來(lái)源有兩張或多張數(shù)據(jù)表,這種視圖在實(shí)際應(yīng)用中使用的更多一些。使用Navicat完成多源表視圖創(chuàng)建一般需要用到以下幾種方法。(1)添加數(shù)據(jù)表用戶(hù)在視圖創(chuàng)建工具中新建視圖,首先必須添加表到視圖,從左側(cè)數(shù)據(jù)庫(kù)對(duì)象拖動(dòng)數(shù)據(jù)表到圖表設(shè)計(jì)窗口或雙擊相應(yīng)的數(shù)據(jù)表。(2)刪除對(duì)象從視圖創(chuàng)建工具界面的圖表設(shè)計(jì)窗口中選中要移除的對(duì)象,鍵盤(pán)Delete刪除。(3)添加表別名在視圖創(chuàng)建工具中添加表別名,用戶(hù)只需在圖表設(shè)計(jì)窗口雙擊表名并輸入別名。

【任務(wù)分析和知識(shí)儲(chǔ)備】(4)設(shè)置表間關(guān)系通過(guò)兩個(gè)字段連接數(shù)據(jù)庫(kù)對(duì)象,從一個(gè)對(duì)象列表拖動(dòng)一個(gè)字段到另一個(gè)對(duì)象列表,一條線(xiàn)將出現(xiàn)在連接的字段之間。轉(zhuǎn)到語(yǔ)法窗口可選擇不同的屬性項(xiàng)目,可以通過(guò)列表“=、<>、<、<=、>、>=”改變關(guān)系條件。除此之外,還可以改變連接的類(lèi)型。(5)設(shè)置條件添加一個(gè)查詢(xún)條件,在語(yǔ)法窗口的WHERE子句單擊“<-->,<-->”中的“<-->”從當(dāng)前所建查詢(xún)中添加的所有數(shù)據(jù)表的字段列表中選擇一個(gè)字段。定義條件,在“編輯”選項(xiàng)卡中輸入值,單擊“=”設(shè)置條件運(yùn)算符。2.使用圖形管理工具創(chuàng)建視圖2.使用圖形管理工具創(chuàng)建視圖(1)在Navicat中連接MySQL中的studb數(shù)據(jù)庫(kù),單擊Navicat工具欄中的“視圖”按鈕,如圖所示。

【任務(wù)實(shí)施】(2)單擊“新建視圖”按鈕,顯示“定義”“高級(jí)”和“SQL預(yù)覽”選項(xiàng)卡,如圖所示。2.使用圖形管理工具創(chuàng)建視圖(3)在“視圖”工具欄中單擊“視圖創(chuàng)建工具”按鈕,打開(kāi)“視圖創(chuàng)建工具”窗口,窗口左側(cè)為數(shù)據(jù)庫(kù)studb中的數(shù)據(jù)表列表,中部提供了查詢(xún)語(yǔ)句的生成模板,右側(cè)為顯示SQL句的區(qū)域,如圖所示。2.使用圖形管理工具創(chuàng)建視圖(4)在視圖創(chuàng)建工具窗口左側(cè)數(shù)據(jù)庫(kù)對(duì)象窗口,雙擊數(shù)據(jù)表“course”“score”和“student”對(duì)象,在中部上方彈出數(shù)據(jù)表course、score和student可供選擇的字段;在“course”字段列表中單擊字段名“cno”,并按住鼠標(biāo)左鍵將其拖曳到“score”表的“cno”字段位置,松開(kāi)鼠標(biāo)左鍵,即完成數(shù)據(jù)表course與score之間關(guān)聯(lián)關(guān)系的創(chuàng)建。以同樣的方法,創(chuàng)建數(shù)據(jù)表score和student之間的關(guān)聯(lián)關(guān)系。2.使用圖形管理工具創(chuàng)建視圖(5)從已選的數(shù)據(jù)表中選擇所需的字段。分別從“course”字段列表中選擇“sname”,從“score”字段列表中選擇“cno”和“grade”,從“student”字段列表中選擇“sno”“sname”“class”和“total_credits”,同時(shí)SQL語(yǔ)句區(qū)域會(huì)自動(dòng)生成對(duì)應(yīng)的SQL語(yǔ)句,如圖所示。2.使用圖形管理工具創(chuàng)建視圖(6)設(shè)置查詢(xún)條件。在視圖創(chuàng)建工具窗口中切換到“WHERE”選項(xiàng)卡,單擊[+]按鈕,出現(xiàn)“<值>=<值>”的條件輸入標(biāo)識(shí),單擊“=”左側(cè)的“<值>”,在彈出的對(duì)話(huà)中切換到“標(biāo)識(shí)符”選項(xiàng)卡,然后在數(shù)據(jù)表student的字段列表中單擊字段“dept”,如圖所示。單擊“=”右側(cè)的“<值>”,在彈出的對(duì)話(huà)框的“自定義”文本框中輸入“'信息工程系'”,如圖所示。2.使用圖形管理工具創(chuàng)建視圖(7)在“視圖創(chuàng)建工具”窗口中單擊“構(gòu)建并運(yùn)行”按鈕,關(guān)閉該窗口并返回“視圖定義區(qū)域”。可以看到設(shè)置好字段、數(shù)據(jù)表及關(guān)聯(lián)條件和WHERE條件的SQL查詢(xún)語(yǔ)句如圖所示。2.使用圖形管理工具創(chuàng)建視圖(8)在“視圖”工具欄中單擊“保存”按鈕,在彈出的對(duì)話(huà)框中輸入視圖名“view_stusc”,如圖所示,然后單擊“確定”保存,“view_stusc”視圖創(chuàng)建成功。2.使用圖形管理工具創(chuàng)建視圖(9)切換到“高級(jí)”選項(xiàng)卡,查看高級(jí)選項(xiàng)設(shè)置,如圖所示。“算法”為“UNDEFINED”,即MySQL自動(dòng)選擇算法;“定義者”為“root@localhost”;“安全”為“DEFINER”;“檢查選項(xiàng)”這里未設(shè)置。2.使用圖形管理工具創(chuàng)建視圖在“視圖”工具欄中單擊“預(yù)覽”按鈕,切換到“定義”選項(xiàng)卡中

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論