![Oracle數(shù)據(jù)庫(kù)課件1第7章 視圖_第1頁(yè)](http://file4.renrendoc.com/view/b06991ffc9831d219ed71123656b4825/b06991ffc9831d219ed71123656b48251.gif)
![Oracle數(shù)據(jù)庫(kù)課件1第7章 視圖_第2頁(yè)](http://file4.renrendoc.com/view/b06991ffc9831d219ed71123656b4825/b06991ffc9831d219ed71123656b48252.gif)
![Oracle數(shù)據(jù)庫(kù)課件1第7章 視圖_第3頁(yè)](http://file4.renrendoc.com/view/b06991ffc9831d219ed71123656b4825/b06991ffc9831d219ed71123656b48253.gif)
![Oracle數(shù)據(jù)庫(kù)課件1第7章 視圖_第4頁(yè)](http://file4.renrendoc.com/view/b06991ffc9831d219ed71123656b4825/b06991ffc9831d219ed71123656b48254.gif)
![Oracle數(shù)據(jù)庫(kù)課件1第7章 視圖_第5頁(yè)](http://file4.renrendoc.com/view/b06991ffc9831d219ed71123656b4825/b06991ffc9831d219ed71123656b48255.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
17.1創(chuàng)建視圖視圖(View)通過SELECT查詢語(yǔ)句定義,它是從一個(gè)或多個(gè)表(或視圖)導(dǎo)出的,用來導(dǎo)出視圖的表稱為基表(BaseTable),導(dǎo)出的視圖稱為虛表。在數(shù)據(jù)庫(kù)中,只存儲(chǔ)視圖的定義,不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍然存放在原來的基表中。視圖可以由一個(gè)基表中選取的某些行和列組成,也可以由多個(gè)表中滿足一定條件的數(shù)據(jù)組成,視圖就像是基表的窗口,它反映了一個(gè)或多個(gè)基表的局部數(shù)據(jù)。視圖有以下優(yōu)點(diǎn):●
方便用戶的查詢和處理,簡(jiǎn)化數(shù)據(jù)操作?!窈?jiǎn)化用戶的權(quán)限管理,增加安全性?!?/p>
便于數(shù)據(jù)共享?!?/p>
屏蔽數(shù)據(jù)庫(kù)的復(fù)雜性?!?/p>
可以重新組織數(shù)據(jù)。
Oracle數(shù)據(jù)庫(kù)教程(第2版)27.1創(chuàng)建視圖7.1.1使用PL/SQL語(yǔ)句創(chuàng)建視圖PL/SQL語(yǔ)句創(chuàng)建視圖的語(yǔ)句是CREATEORREPLACEVIEW語(yǔ)句。語(yǔ)法格式:CREATEVIEW[schema_name.]view_name[(column[,...n])][WITH<view_attribute>[,…n]]ASselect_statement[WITHCHECKOPTION]說明:
●view_name:視圖名稱;scheme是數(shù)據(jù)庫(kù)架構(gòu)名
●
column:列名,此為視圖中包含的列,最多可引用1024個(gè)列。
●
WITH子句:指出視圖的屬性
Oracle數(shù)據(jù)庫(kù)教程(第2版)37.1創(chuàng)建視圖
●select_statement:定義視圖的SELECT語(yǔ)句,可在該語(yǔ)句中使用多個(gè)表或視圖?!?/p>
WITHCHECKOPTION:指出在視圖上進(jìn)行的修改都要符合select_statement所指定的準(zhǔn)則?!纠?.1】使用CREATEVIEW語(yǔ)句,在stsys數(shù)據(jù)庫(kù)中創(chuàng)建vwStudentScore視圖,包括學(xué)號(hào)、姓名、性別、專業(yè)、課程號(hào)、成績(jī),且專業(yè)為計(jì)算機(jī)。CREATEORREPLACEVIEWvwStudentScoreASSELECTa.sno,a.sname,a.ssex,a.speciality,o,b.gradeFROMstudenta,scorebWHEREa.sno=b.snoANDa.speciality='計(jì)算機(jī)'WITHCHECKOPTION;
Oracle數(shù)據(jù)庫(kù)教程(第2版)47.1創(chuàng)建視圖7.1.2
使用圖形界面方式創(chuàng)建視圖【例7.2】使用圖形界面方式,在stsys數(shù)據(jù)庫(kù)中創(chuàng)建vwStudentCourseScore視圖,包括學(xué)號(hào)、姓名、性別、課程名、成績(jī),按學(xué)號(hào)升序排列,且專業(yè)為計(jì)算機(jī)。(1)啟動(dòng)”SQLDeveloper”,在”連接”節(jié)點(diǎn)下打開數(shù)據(jù)庫(kù)連接”sys_stsys”,右單擊“視圖”節(jié)點(diǎn),在彈出的快捷菜單中選擇”新建視圖”命令,屏幕出現(xiàn)“創(chuàng)建視圖”窗口,在“名稱”框中,輸入vwStudentCourseScore,在“SQL查詢”選項(xiàng)卡中,輸入如下的SQL查詢語(yǔ)句:SELECTa.sno,a.sname,a.ssex,a.speciality,ame,c.gradeFROMstudenta,courseb,scorecWHEREa.sno=c.snoANDo=oANDa.speciality='計(jì)算機(jī)'ORDERBYa.sno
Oracle數(shù)據(jù)庫(kù)教程(第2版)57.1創(chuàng)建視圖輸入SQL查詢語(yǔ)句后的“創(chuàng)建視圖”窗口如圖7.1所示。(2)單擊“確定”按鈕,完成視圖vwStudentCourseScore的創(chuàng)建。
Oracle數(shù)據(jù)庫(kù)教程(第2版)67.2查詢視圖【例7.3】分別查詢vwStudentScore視圖、vwStudentCourseScore視圖。
SNOSNAMESSEXSPECIALITYCNOGRADE--------------------------------------------------------------181001宋德成男計(jì)算機(jī)1004
94181002何靜女計(jì)算機(jī)
100486181004劉文韜男計(jì)算機(jī)100490181001宋德成男計(jì)算機(jī)8001
91181002何靜女計(jì)算機(jī)8001
87181004劉文韜男計(jì)算機(jī)800185181001宋德成男計(jì)算機(jī)120193181002何靜女計(jì)算機(jī)
120176181004劉文韜男計(jì)算機(jī)120192Oracle數(shù)據(jù)庫(kù)教程(第2版)使用SELECT語(yǔ)句對(duì)vwStudentScore視圖進(jìn)行查詢:SELECT*FROMvwStudentScore;查詢結(jié)果:77.2查詢視圖
SNOSNAMESSEXSPECIALITYCNAMEGRADE--------------------------------------------------------------181001宋德成男計(jì)算機(jī)高等數(shù)學(xué)
91181001宋德成男計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)94181001宋德成男計(jì)算機(jī)英語(yǔ)93181002何靜女計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)86181002何靜女計(jì)算機(jī)高等數(shù)學(xué)
87181002何靜女計(jì)算機(jī)英語(yǔ)76181004劉文韜男計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)90181004劉文韜男計(jì)算機(jī)高等數(shù)學(xué)85181004劉文韜男計(jì)算機(jī)英語(yǔ)92Oracle數(shù)據(jù)庫(kù)教程(第2版)使用SELECT語(yǔ)句對(duì)svwStudentCourseScore視圖進(jìn)行查詢:SELECT*FROMvwStudentCourseScore;查詢結(jié)果:87.2查詢視圖【例7.4】查詢計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名、性別、課程名。SELECTsno,sname,ssex,cname
FROMvwStudentCourseScore;查詢結(jié)果:
SNO
SNAMESSEXCNAME-------------------------------------------181001宋德成男數(shù)據(jù)庫(kù)系統(tǒng)181001宋德成男高等數(shù)學(xué)181001宋德成男英語(yǔ)181002何靜女?dāng)?shù)據(jù)庫(kù)系統(tǒng)181002何靜
女高等數(shù)學(xué)181002何靜女英語(yǔ)181004劉文韜男數(shù)據(jù)庫(kù)系統(tǒng)181004劉文韜男高等數(shù)學(xué)181004劉文韜男英語(yǔ)Oracle數(shù)據(jù)庫(kù)教程(第2版)Oracle數(shù)據(jù)庫(kù)教程(第2版)97.3修改視圖定義
7.3.1使用PL/SQL語(yǔ)句修改視圖定義【例7.5】將例7.1定義的視圖vwStudentScore視圖進(jìn)行修改,取消專業(yè)為計(jì)算機(jī)的要求。CREATEORREPLACEVIEWvwStudentScoreASSELECTa.sno,a.sname,a.ssex,a.speciality,o,b.gradeFROMstudenta,scorebWHEREa.sno=b.snoWITHCHECKOPTION;使用SELECT語(yǔ)句對(duì)修改后的vwStudentScore視圖進(jìn)行查詢,可看出修改后的vwStudentScore視圖已取消專業(yè)為計(jì)算機(jī)的要求。SELECT*FROMvwStudentScore;Oracle數(shù)據(jù)庫(kù)教程(第2版)107.3修改視圖定義
SNOSNAMESSEXSPECIALITYCNO
GRADE-----------------------------------------------------------------181001宋德成男計(jì)算機(jī)100494181002何靜女計(jì)算機(jī)100486181004劉文韜男計(jì)算機(jī)100490184001李浩宇男通信400292184002謝麗君女通信400278184003陳春玉女通信400289181001宋德成男計(jì)算機(jī)800191181002何靜女計(jì)算機(jī)800187181004劉文韜男計(jì)算機(jī)800185184001李浩宇男通信800186184002謝麗君女通信8001184003陳春玉女通信800195181001宋德成男計(jì)算機(jī)120193181002何靜女計(jì)算機(jī)120176181004劉文韜男計(jì)算機(jī)120192184001李浩宇男通信120182184002謝麗君女通信120175184003陳春玉女通信120191Oracle數(shù)據(jù)庫(kù)教程(第2版)117.3修改視圖定義7.3.2使用圖形界面方式修改視圖定義
【例7.6】使用圖形界面方式修改例7.2創(chuàng)建的視圖vwStudentCourseScore,以降序顯示學(xué)分。(1)啟動(dòng)SQLDeveloper,展開“sys_stsys”連接,展開“視圖”,選擇vwStudentCourseScoret,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“編輯”命令,進(jìn)入“編輯視圖”窗口,可以修改視圖定義,其操和創(chuàng)建視圖類似,如圖7.2所示。Oracle數(shù)據(jù)庫(kù)教程(第2版)127.3修改視圖定義
(2)在圖7.2的“SQL查詢”選項(xiàng)卡中,將SQL查詢語(yǔ)句修改為:SELECTa.sno,a.sname,a.ssex,a.speciality,ame,c.gradeFROMstudenta,courseb,scorecWHEREa.sno=c.snoANDo=oANDa.speciality='計(jì)算機(jī)'ORDERBYa.snoDESC(3)單擊“確定”按鈕,完成vwStudentCourseScore視圖定義的修改。(4)使用SELECT語(yǔ)句查詢vwStudentCourseScore。SELECT*FROMvwStudentCourseScore;Oracle數(shù)據(jù)庫(kù)教程(第2版)137.3修改視圖定義
查詢結(jié)果:SNOSNAMESSEXSPECIALITYCNAMEGRADE------------------------------------------------------------------------181004劉文韜男計(jì)算機(jī)英語(yǔ)92181004劉文韜男計(jì)算機(jī)高等數(shù)學(xué)85181004劉文韜男計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)90181002何靜女計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)86181002何靜女計(jì)算機(jī)高等數(shù)學(xué)87181002何靜女計(jì)算機(jī)英語(yǔ)76181001宋德成男計(jì)算機(jī)英語(yǔ)93181001宋德成男計(jì)算機(jī)數(shù)據(jù)庫(kù)系統(tǒng)94181001宋德成男計(jì)算機(jī)高等數(shù)學(xué)
91Oracle數(shù)據(jù)庫(kù)教程(第2版)147.4刪除視圖7.4.1使用PL/SQL語(yǔ)句刪除視圖使用PL/SQL的DROPVIEW語(yǔ)句刪除視圖,語(yǔ)法格式:DROPVIEW<視圖名>【例7.7】將視圖vwStudentCourseScore刪除。DROPVIEWvwStudentCourseScore;
Oracle數(shù)據(jù)庫(kù)教程(第2版)157.4刪除視圖7.4.2使用圖形界面方式刪除視圖【例7.8】刪除視圖vwStudentScore。啟動(dòng)SQLDeveloper,展開“sys_stsys”連接,展開“視圖”,選擇需要?jiǎng)h除的視圖,這里,選擇vwStudentScore,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“刪除”命令,在彈出的“刪除”窗口中單擊“應(yīng)用”按鈕即可。
Oracle數(shù)據(jù)庫(kù)教程(第2版)167.5更新視圖7.5.1可更新視圖【例7.9】在stsys數(shù)據(jù)庫(kù)中,以student為基表,創(chuàng)建專業(yè)為通信的可更新視圖vwCommSpecialityStudent。創(chuàng)建視圖vwCommSpecialityStudent語(yǔ)句如下:CREATEORREPLACEVIEWvwCommSpecialityStudentASSELECT*FROMstudentWHEREspeciality='通信';
Oracle數(shù)據(jù)庫(kù)教程(第2版)177.3
更新視圖使用SELECT語(yǔ)句查詢vwCommSpecialityStudent視圖SELECT*FROMvwCommSpecialityStudent查詢結(jié)果:SNOSNAMESSEXSBIRTHDAYSPECIALITYSCLASSTC---------------------------------------------------------------------------------184001李浩宇男1997-10-24
通信
20183650184002謝麗君女1998-01-16通信20183648184003陳春玉女1997-08-09通信20183652
Oracle數(shù)據(jù)庫(kù)教程(第2版)187.5更新視圖7.5.2插入數(shù)據(jù)使用INSERT語(yǔ)句通過視圖向基表插入數(shù)據(jù)?!纠?.10】向vwCommSpecialityStudent視圖中插入一條記錄:('184006','吳維明','男','1998-03-14','通信','201836',50)。INSERTINTOvwCommSpecialityStudentVALUES('184006','吳維明','男','1998-03-14','通信','201836',50);使用SELECT語(yǔ)句查詢vwCommSpecialityStudent視圖的基表studentSELECT*FROMstudent;
Oracle數(shù)據(jù)庫(kù)教程(第2版)197.5更新視圖
上述語(yǔ)句對(duì)基表student進(jìn)行查詢,該表已添加記錄('184006','吳維明','男','1998-03-14','通信','201836',50)。
查詢結(jié)果:
SNOSNAMESSEXSBIRTHDAYSPECIALITYSCLASSTC------------------------------------------------------------------------------181001宋德成
男
1997-11-05計(jì)算機(jī)
20180552181002何靜
女
1998-04-27計(jì)算機(jī)
20180550181004劉文韜
男
1998-05-13計(jì)算機(jī)
20180552184001李浩宇
男
1997-10-24通信
20183650
184002謝麗君
女
1998-01-16通信
20183648184003陳春玉
女
1997-08-09通信
20183652184006吳維明
男
1998-03-14通信
20183650Oracle數(shù)據(jù)庫(kù)教程(第2版)207.5
更新視圖7.5.3修改數(shù)據(jù)使用UPDATE語(yǔ)句通過視圖修改基表數(shù)據(jù)?!纠?.11】將vwCommSpecialityStudent視圖中學(xué)號(hào)為184006的學(xué)生的總學(xué)分增加2分。UPDATEvwCommSpecialityStudentSETtc=tc+2WHEREsno='184006';使用SELECT語(yǔ)句查詢vwCommSpecialityStudent視圖的基表studentSELECT*FROMstudent;
Oracle數(shù)據(jù)庫(kù)教程(第2版)217.5
更新視圖上述語(yǔ)句對(duì)基表student進(jìn)行查詢,該表已將學(xué)號(hào)為184006的學(xué)生的總學(xué)分增加了2分。查詢結(jié)果:SNOSNAMESSEXSBIRTHDAYSPECIALITYSCLASSTC------------------------------------------------------------------------------181001宋德成男1997-11-05計(jì)算機(jī)20180552181002何靜女1998-04-27計(jì)算機(jī)20180550181004劉文韜男1998-05-13計(jì)算機(jī)20180552184001李浩宇男1997-10-24通信20183650184002謝麗君女1998-01-16通信20183648184003陳春玉女
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度稅務(wù)籌劃與稅務(wù)籌劃財(cái)務(wù)解決方案合同
- 2025年度全屋智能家居裝修質(zhì)保服務(wù)合同模板
- 施工現(xiàn)場(chǎng)施工防自然災(zāi)害侵襲威脅制度
- 醫(yī)療護(hù)理醫(yī)學(xué)培訓(xùn) 小學(xué)二年級(jí)健康課課件
- DB 3705T 49-2024黃河口灘區(qū)肉羊疫病防控技術(shù)規(guī)范
- 中央空調(diào)清洗保養(yǎng)合同
- 個(gè)人股份代持合同范本
- 二手房交易獨(dú)家代理合同范本
- 業(yè)務(wù)員勞動(dòng)合同樣本集
- 臨時(shí)雇傭合同書樣本
- 中國(guó)電信應(yīng)急管理整體解決方案
- 中小學(xué)教師師德師風(fēng)法律法規(guī)培訓(xùn)
- 醫(yī)療器械質(zhì)量管理體系文件模板
- 秦始皇嬴政人物生平介紹PPT
- 在馬克思墓前的講話說課稿公開課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 骨科無痛病房的建立
- 送養(yǎng)收養(yǎng)合同協(xié)議書
- 塑料成型模具設(shè)計(jì)(第2版)江昌勇課件0-導(dǎo)論
- 漢語(yǔ)拼音發(fā)音口型及配圖
- 績(jī)效考核管理醫(yī)院績(jī)效分配方案包括實(shí)施細(xì)則考核表
- 大學(xué)成績(jī)單(大專)
評(píng)論
0/150
提交評(píng)論