數(shù)據(jù)庫應(yīng)用實(shí)戰(zhàn)教程(MySQL版) 課件 項(xiàng)目5 使用數(shù)據(jù)視圖_第1頁
數(shù)據(jù)庫應(yīng)用實(shí)戰(zhàn)教程(MySQL版) 課件 項(xiàng)目5 使用數(shù)據(jù)視圖_第2頁
數(shù)據(jù)庫應(yīng)用實(shí)戰(zhàn)教程(MySQL版) 課件 項(xiàng)目5 使用數(shù)據(jù)視圖_第3頁
數(shù)據(jù)庫應(yīng)用實(shí)戰(zhàn)教程(MySQL版) 課件 項(xiàng)目5 使用數(shù)據(jù)視圖_第4頁
數(shù)據(jù)庫應(yīng)用實(shí)戰(zhàn)教程(MySQL版) 課件 項(xiàng)目5 使用數(shù)據(jù)視圖_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目5使用數(shù)據(jù)視圖目錄任務(wù)1任務(wù)2任務(wù)3任務(wù)4認(rèn)識(shí)視圖視圖創(chuàng)建與查看管理視圖使用圖形工具操作視圖任務(wù)1認(rèn)識(shí)視圖5.1.1視圖概念視圖是從一個(gè)或多個(gè)表(或視圖)導(dǎo)出的表。視圖與表(有時(shí)為與視圖區(qū)別,也稱表為基本表BaseTable)不同,視圖是一個(gè)虛表,并且表的結(jié)構(gòu)和數(shù)據(jù)都依賴于基本表,即視圖所對(duì)應(yīng)的數(shù)據(jù)不進(jìn)行實(shí)際存儲(chǔ),數(shù)據(jù)庫中只存儲(chǔ)視圖的定義,對(duì)視圖的數(shù)據(jù)進(jìn)行操作時(shí),系統(tǒng)根據(jù)視圖的定義去操作與視圖相關(guān)聯(lián)的基本表。

5.1.2使用視圖的優(yōu)勢(shì)視圖一經(jīng)定義,就可以像表一樣被查詢、修改、刪除和更新。使用視圖有下列優(yōu)點(diǎn):(1)為用戶集中數(shù)據(jù),簡(jiǎn)化用戶的數(shù)據(jù)查詢和處理。有時(shí)用戶所需要的數(shù)據(jù)分散在多個(gè)表中,定義視圖可將多個(gè)物理數(shù)據(jù)表抽象為一個(gè)邏輯數(shù)據(jù)表,從而方便用戶的數(shù)據(jù)查詢和處理。(2)屏蔽數(shù)據(jù)庫的復(fù)雜性。用戶不必了解復(fù)雜的數(shù)據(jù)庫中的表結(jié)構(gòu),并且數(shù)據(jù)庫表的更改也不影響用戶對(duì)數(shù)據(jù)庫的使用。(3)簡(jiǎn)化用戶權(quán)限的管理。只需授予用戶使用視圖的權(quán)限,而不必指定用戶只能使用表的特定列,防止未經(jīng)許可的用戶訪問敏感數(shù)據(jù),增加了安全性。(4)便于數(shù)據(jù)共享。各用戶不必都定義和存儲(chǔ)自己所需的數(shù)據(jù),可共享數(shù)據(jù)庫的數(shù)據(jù),這樣同樣的數(shù)據(jù)只需存儲(chǔ)一次。任務(wù)2視圖創(chuàng)建與查看5.2.1創(chuàng)建視圖語法格式:CREATE[ORREPLACE]VIEW視圖名[(列名列表)]ASSELECT語句[WITH[CASCADED|LOCAL]CHECKOPTION]5.2.1創(chuàng)建視圖使用視圖時(shí),要注意下列事項(xiàng):(1)在默認(rèn)情況下,將在當(dāng)前數(shù)據(jù)庫創(chuàng)建新視圖。要想在給定數(shù)據(jù)庫中創(chuàng)建視圖,創(chuàng)建時(shí)應(yīng)將名稱指定為數(shù)據(jù)庫名.視圖名。(2)視圖的命名必須遵循標(biāo)志符命名規(guī)則,不能與表同名,且對(duì)每個(gè)用戶視圖名必須是唯一的,即對(duì)不同用戶,即使是定義相同的視圖,也必須使用不同的名字。(3)不能把規(guī)則、默認(rèn)值或觸發(fā)器與視圖相關(guān)聯(lián)。(4)不能在視圖上建立任何索引,包括全文索引。(5)視圖中使用SELECT語句有以下的限制。5.2.1創(chuàng)建視圖【例5-1】創(chuàng)建視圖,查詢飛機(jī)型號(hào)為蜀國空客320的航班id,起飛城市,到達(dá)城市及到達(dá)時(shí)間。mysql>CREATEVIEWv_view1->AS->SELECTf_id,fromCity,toCity,departureTime->FROMflight->WHEREmodel='蜀國空客320';QueryOK,0rowsaffected(0.01sec)5.2.2查詢視圖視圖定義后,就可以如同查詢基本表那樣對(duì)視圖進(jìn)行查詢。【例5-2】根據(jù)條件查詢視圖。mysql>SELECT*FROMv_view1WHEREf_id='CW3101';+--------+----------+--------+---------------+|f_id|fromCity|toCity|departureTime|+--------+----------+--------+---------------+|CW3101|夷陵|兗州|14:45:00|+--------+----------+--------+---------------+1rowinset(0.00sec)5.2.3查看視圖1.使用DESCRIBE語句查看視圖結(jié)構(gòu)在MySQL中,使用DESCRIBE語句可以查看視圖結(jié)構(gòu),即視圖的字段信息,包括字段名、字段類型等信息。DESCRIBE語句的語法格式如下所示:DESCRIBE視圖名;或簡(jiǎn)寫為:DESC視圖名;5.2.3查看視圖2.使用SHOWTABLESTATUS語句查看視圖語法格視圖名:SHOWTABLESTATUSLIKE'視圖名';LIKE表示后面是匹配字符串“視圖名”是要查看的視圖名稱,可以是一個(gè)具體的視圖名,也可以包含通配符,視圖名稱要用單引號(hào)括起來。可以在視圖名后加上\G,\G可以格式化輸出。5.2.3查看視圖3.使用SHOWCREATEVIEW語句查看視圖使用SHOWCREATEVIEW語句不僅可以查看創(chuàng)建視圖的定義語句,還可以查看視圖的字符編碼語法格式如下:SHOWCREATEVIEW視圖名;可以在視圖名后加上\G,\G可以格式化輸出。任務(wù)3管理視圖5.3.1修改視圖定義在MySQL中,修改視圖定義的方式有兩種:1.使用CREATEORREPLACEVIEW語句語法格式為:CREATEORREPLACEVIEW視圖名[(列名列表)]ASSELECT語句[WITH[CASCADED|LOCAL]CHECKOPTION]使用CREATEORREPLACEVIEW語句創(chuàng)建視圖時(shí),如果視圖已經(jīng)存在,則用語句中的視圖定義修改已存在的視圖。如果視圖不存在,則創(chuàng)建一個(gè)視圖。5.3.1修改視圖定義2.使用ALTERVIEW語句使用ALTER語句可以對(duì)已有視圖的定義進(jìn)行修改。語法格式:ALTERVIEW視圖名[(列名列表)]ASselect語句[WITH[CASCADED|LOCAL]CHECKOPTION]ALTERVIEW語句的語法和CREATEVIEW類似。5.3.2更新視圖更新視圖是指通過視圖來插入、更新、刪除表中的數(shù)據(jù),因?yàn)橐晥D是一個(gè)虛擬表,其中沒有數(shù)據(jù)。當(dāng)通過視圖更新數(shù)據(jù)時(shí)其實(shí)是在更新基本表中的數(shù)據(jù),如果對(duì)視圖增加或者刪除記錄,實(shí)際上是對(duì)其基本表增加或者刪除記錄。視圖更新主要有3種方法:INSERT、UPDATE和DELETE。5.3.2更新視圖要通過視圖更新基本表數(shù)據(jù),必須保證視圖是可更新視圖,即可以在INSET、UPDATE或DELETE等語句中使用它們。對(duì)于可更新的視圖,在視圖中的行和基表中的行之間必須具有一對(duì)一的關(guān)系。有一些結(jié)構(gòu),這類結(jié)構(gòu)會(huì)使得視圖不可更新。若視圖包含以下結(jié)構(gòu)中的任何一種,其就是不可更新的:■聚合函數(shù)。

■DISTINCT關(guān)鍵字?!鯣ROUPBY子句。

■ORDERBY子句。■HAVINGG子句。

■UNION運(yùn)算符?!鑫挥谶x擇列表中的子查詢。

■FROM子句中包含多個(gè)表。■SELECT語句中引用了不可更新視圖。■WHERE子句中的子查詢,引用FROM子句中的表。5.3.2更新視圖1.使用INSERT語句更新視圖在MySQL中,可以使用INSERT語句對(duì)視圖中的基本表插入一條記錄。2.使用UPDATE語句更新視圖在MySQL中,可以使用UPDATE語句對(duì)視圖中原有的數(shù)據(jù)進(jìn)行更新。3.使用DELETE語句更新視圖在MySQL中,可以使用DELETE語句對(duì)視圖中的基本表刪除部分記錄。5.3.3刪除視圖當(dāng)視圖不再需要時(shí),可以將視圖刪除。刪除視圖只是將視圖的定義刪除,并不會(huì)影響基表中的數(shù)據(jù)。語法格式:DROPVIEW[IFEXISTS]視圖名1[,視圖名2]……語句中若聲明了IFEXISTS可選項(xiàng),如果存在指定視圖,則將視圖刪除,如果視圖不存在,也不會(huì)出現(xiàn)錯(cuò)誤信息。使用DROPVIEW一次可刪除多個(gè)視圖,多個(gè)視圖名之間用英文半角逗號(hào)隔開。刪除視圖必須有DROPVIEW權(quán)限?!纠?-3】刪除視圖mysql>DROPVIEWv_view1;QueryOK,0rowsaffected(0.00sec)任務(wù)4使用圖形工具操作視圖【例5-4】使用圖形工具創(chuàng)建視圖vv_view1,查詢飛機(jī)型號(hào)為蜀國空客320的航班id,起飛城市,到達(dá)城市及到達(dá)時(shí)間。首先單擊菜單欄下的“視圖”按鈕,如圖5-1所示,單擊視圖窗口中的“新建視圖”按鈕或者展開左側(cè)數(shù)據(jù)庫threekingdomsair,在“視圖”上右鍵單擊,選擇新建視圖,如圖5-2所示,出現(xiàn)如圖5-3所示的窗口。5.4.1使用圖形工具操作視圖

圖5-1“視圖”窗口5.4.1使用圖形工具操作視圖

圖5-2“新建視圖”命令5.4.1使用圖形工具操作視圖

圖5-3“新建視圖”窗口5.4.1使用圖形工具操作視圖

其次,在新建視圖窗口中,單擊“視圖創(chuàng)建工具”,打開如圖5-4所示的“視圖創(chuàng)建工具”窗口。將視圖要查詢的表拖到右側(cè)空白處,點(diǎn)擊“select”選項(xiàng)卡下面的“+”號(hào),選擇要查詢的字段,如圖5-5所示,完成后的效果如圖5-6所示。單擊“from”選項(xiàng)卡,選擇要查詢的表,如圖5-7所示。單擊“where”選項(xiàng)卡,輸入查詢條件,如圖5-8所示,單擊“+”號(hào),出現(xiàn)條件表達(dá)式,如圖5-9所示,單擊“=”左側(cè)的值,輸入“字段名”,單擊“=”右側(cè)的值,輸入對(duì)應(yīng)字段的取值,效果如圖5-10所示。5.4.1使用圖形工具操作視圖

圖5-4“視圖創(chuàng)建工具”窗口5.4.1使用圖形工具操作視圖

圖5-5“表拖動(dòng)后的視圖創(chuàng)建工具”窗口5.4.1使用圖形工具操作視圖

圖5-6“select選項(xiàng)卡”窗口5.4.1使用圖形工具操作視圖

圖5-7“from選項(xiàng)卡”窗口5.4.1使用圖形工具操作視圖

圖5-8“where選項(xiàng)卡”窗口5.4.1使用圖形工具操作視圖

圖5-9“where條件”窗口圖5-10“where條件完成效果”窗口5.4.1使用圖形工具操作視圖

最后,單擊“構(gòu)建”按鈕,出現(xiàn)如圖5-11所示的窗口,單擊“預(yù)覽”可以看到如圖5-12所示的視圖查詢的結(jié)果數(shù)據(jù)。單擊“保存”按鈕,彈出如圖5-13所示的“另存為”對(duì)話框,輸入視圖的名稱,單擊“保存”按鈕,視圖創(chuàng)建就完成了。在左側(cè)樹形目錄中會(huì)出現(xiàn)創(chuàng)建的視圖vv_view1,如圖5-14所示。5.4.1使用圖形工具操作視圖

溫馨提示

  • 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)論