版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
26十二月2022Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖26十二月2022Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料111目標(biāo)通過本章學(xué)習(xí),您將可以:描述視圖創(chuàng)建和修改視圖的定義,刪除視圖從視圖中查詢數(shù)據(jù)通過視圖插入,修改和刪除數(shù)據(jù)創(chuàng)建和使用臨時(shí)視圖使用“Top-N”分析Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖目標(biāo)通過本章學(xué)習(xí),您將可以:Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資2常見的數(shù)據(jù)庫對(duì)象對(duì)象 描述表基本的數(shù)據(jù)存儲(chǔ)集合,由行和列組成。視圖 從表中抽出的邏輯上相關(guān)的數(shù)據(jù)集合。序列 提供有規(guī)律的數(shù)值。索引 提高查詢的效率同義詞 給對(duì)象起別名Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖常見的數(shù)據(jù)庫對(duì)象對(duì)象 描述Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料3視圖表EMPLOYEES:Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖表EMPLOYEES:Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資4為什么使用視圖控制數(shù)據(jù)訪問簡化查詢數(shù)據(jù)獨(dú)立性避免重復(fù)訪問相同的數(shù)據(jù)Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖為什么使用視圖控制數(shù)據(jù)訪問Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料5簡單視圖和復(fù)雜視圖特性 簡單視圖 復(fù)雜視圖表的數(shù)量 一個(gè) 一個(gè)或多個(gè)函數(shù) 沒有 有分組 沒有 有DML操作 可以 有時(shí)可以O(shè)racle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖簡單視圖和復(fù)雜視圖特性 簡單視圖 復(fù)雜視圖Oracle公司內(nèi)6創(chuàng)建視圖在CREATEVIEW語句中嵌入子查詢子查詢可以是復(fù)雜的SELECT語句CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview[(alias[,alias]...)]ASsubquery[WITHCHECKOPTION[CONSTRAINTconstraint]][WITHREADONLY[CONSTRAINTconstraint]];Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建視圖在CREATEVIEW語句中嵌入子查詢CREATE7創(chuàng)建視圖創(chuàng)建視圖舉例描述視圖結(jié)構(gòu)DESCRIBEempvu80CREATEVIEW empvu80ASSELECTemployee_id,last_name,salaryFROMemployeesWHEREdepartment_id=80;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建視圖創(chuàng)建視圖舉例DESCRIBEempvu80CREA8創(chuàng)建視圖創(chuàng)建視圖時(shí)在子查詢中給列定義別名在選擇視圖中的列時(shí)應(yīng)使用別名CREATEVIEW salvu50ASSELECTemployee_idID_NUMBER,last_nameNAME,salary*12ANN_SALARYFROMemployeesWHEREdepartment_id=50;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建視圖創(chuàng)建視圖時(shí)在子查詢中給列定義別名CREATEVIE9查詢視圖SELECT*FROM salvu50;Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖查詢視圖SELECT*Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料110查詢視圖
USER_VIEWS
EMPVU80SELECTemployee_id,last_name,salaryFROMemployeesWHEREdepartment_id=80;SQL*PlusSELECT*FROMempvu80;EMPLOYEESOracleServerOracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖查詢視圖USER_VIEWS11修改視圖使用CREATEORREPLACEVIEW子句修改視圖CREATEVIEW子句中各列的別名應(yīng)和子查詢中各列相對(duì)應(yīng)CREATEORREPLACEVIEWempvu80(id_number,name,sal,department_id)ASSELECTemployee_id,first_name||''||last_name,salary,department_idFROMemployeesWHEREdepartment_id=80;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖修改視圖使用CREATEORREPLACEVIEW子12創(chuàng)建復(fù)雜視圖復(fù)雜視圖舉例CREATEVIEW dept_sum_vu(name,minsal,maxsal,avgsal)ASSELECT d.department_name,MIN(e.salary),MAX(e.salary),AVG(e.salary)FROMemployeese,departmentsdWHEREe.department_id=d.department_idGROUPBYd.department_name;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建復(fù)雜視圖復(fù)雜視圖舉例CREATEVIEW dept_s13視圖中使用DML的規(guī)定可以在簡單視圖中執(zhí)行DML操作當(dāng)視圖定義中包含以下元素之一時(shí)不能使用delete:組函數(shù)GROUPBY子句DISTINCT關(guān)鍵字ROWNUM偽列Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖中使用DML的規(guī)定可以在簡單視圖中執(zhí)行DML操作Or14視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用update:組函數(shù)GROUPBY子句DISTINCT關(guān)鍵字ROWNUM偽列列的定義為表達(dá)式Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用15視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用insert:組函數(shù)GROUPBY子句DISTINCT關(guān)鍵字ROWNUM偽列列的定義為表達(dá)式表中非空的列在視圖定義中未包括Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用16使用WITHCHECKOPTION子句確保DML只能在特定的范圍內(nèi)執(zhí)行
任何違反WITHCHECKOPTION約束的請(qǐng)求都會(huì)失敗CREATEORREPLACEVIEWempvu20ASSELECT *FROMemployeesWHEREdepartment_id=20WITHCHECKOPTIONCONSTRAINTempvu20_ck;Viewcreated.WITH
CHECK
OPTION子句Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖使用WITHCHECKOPTION子句確保DML只能17屏蔽DML操作可以使用WITHREADONLY選項(xiàng)屏蔽對(duì)視圖的DML操作任何DML操作都會(huì)返回一個(gè)Oracleserver錯(cuò)誤Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖屏蔽DML操作可以使用WITHREADONLY選18屏蔽DML操作CREATEORREPLACEVIEWempvu10(employee_number,employee_name,job_title)ASSELECT employee_id,last_name,job_idFROMemployeesWHEREdepartment_id=10WITHREADONLY;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖屏蔽DML操作CREATEORREPLACEVIE19刪除視圖刪除視圖只是刪除視圖的定義,并不會(huì)刪除基表的數(shù)據(jù)DROPVIEWempvu80;Viewdropped.DROPVIEWview;Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖刪除視圖刪除視圖只是刪除視圖的定義,并不會(huì)刪除基表的數(shù)據(jù)DR20臨時(shí)視圖臨時(shí)視圖可以是嵌套在SQL語句中的子查詢?cè)贔ROM子句中的的子查詢是臨時(shí)視圖臨時(shí)視圖不是數(shù)據(jù)庫對(duì)象Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖臨時(shí)視圖臨時(shí)視圖可以是嵌套在SQL語句中的子查詢Orac21Top-N分析Top-N分析查詢一個(gè)列中最大或最小的n個(gè)值:銷售量最高的十種產(chǎn)品是什么?銷售量最差的十種產(chǎn)品是什么?最大和最小的值的集合是Top-N分析所關(guān)心的Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖Top-N分析Top-N分析查詢一個(gè)列中最大或最小的n22Top-N分析查詢最大的幾個(gè)值的Top-N分析:SELECT[column_list],ROWNUMFROM(SELECT[column_list]FROMtableORDERBYTop-N_column)WHEREROWNUM<=N;Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖Top-N分析查詢最大的幾個(gè)值的Top-N分析:SE23Top-N分析查詢工資最高的三名員工:SELECTROWNUMasRANK,last_name,salaryFROM(SELECTlast_name,salaryFROMemployeesORDERBYsalaryDESC)WHEREROWNUM<=3;312123Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖Top-N分析查詢工資最高的三名員工:SELECTROW24總結(jié)通過本章學(xué)習(xí),您已經(jīng)了解視圖的優(yōu)點(diǎn)和基本應(yīng)用:控制數(shù)據(jù)訪問簡化查詢數(shù)據(jù)獨(dú)立性刪除時(shí)不刪除數(shù)據(jù)子查詢是臨時(shí)視圖的一種Top-N分析Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖總結(jié)通過本章學(xué)習(xí),您已經(jīng)了解視圖的優(yōu)點(diǎn)和基本應(yīng)用:Oracl25Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖2626十二月2022Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖26十二月2022Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料1127目標(biāo)通過本章學(xué)習(xí),您將可以:描述視圖創(chuàng)建和修改視圖的定義,刪除視圖從視圖中查詢數(shù)據(jù)通過視圖插入,修改和刪除數(shù)據(jù)創(chuàng)建和使用臨時(shí)視圖使用“Top-N”分析Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖目標(biāo)通過本章學(xué)習(xí),您將可以:Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資28常見的數(shù)據(jù)庫對(duì)象對(duì)象 描述表基本的數(shù)據(jù)存儲(chǔ)集合,由行和列組成。視圖 從表中抽出的邏輯上相關(guān)的數(shù)據(jù)集合。序列 提供有規(guī)律的數(shù)值。索引 提高查詢的效率同義詞 給對(duì)象起別名Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖常見的數(shù)據(jù)庫對(duì)象對(duì)象 描述Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料29視圖表EMPLOYEES:Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖表EMPLOYEES:Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資30為什么使用視圖控制數(shù)據(jù)訪問簡化查詢數(shù)據(jù)獨(dú)立性避免重復(fù)訪問相同的數(shù)據(jù)Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖為什么使用視圖控制數(shù)據(jù)訪問Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料31簡單視圖和復(fù)雜視圖特性 簡單視圖 復(fù)雜視圖表的數(shù)量 一個(gè) 一個(gè)或多個(gè)函數(shù) 沒有 有分組 沒有 有DML操作 可以 有時(shí)可以O(shè)racle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖簡單視圖和復(fù)雜視圖特性 簡單視圖 復(fù)雜視圖Oracle公司內(nèi)32創(chuàng)建視圖在CREATEVIEW語句中嵌入子查詢子查詢可以是復(fù)雜的SELECT語句CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview[(alias[,alias]...)]ASsubquery[WITHCHECKOPTION[CONSTRAINTconstraint]][WITHREADONLY[CONSTRAINTconstraint]];Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建視圖在CREATEVIEW語句中嵌入子查詢CREATE33創(chuàng)建視圖創(chuàng)建視圖舉例描述視圖結(jié)構(gòu)DESCRIBEempvu80CREATEVIEW empvu80ASSELECTemployee_id,last_name,salaryFROMemployeesWHEREdepartment_id=80;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建視圖創(chuàng)建視圖舉例DESCRIBEempvu80CREA34創(chuàng)建視圖創(chuàng)建視圖時(shí)在子查詢中給列定義別名在選擇視圖中的列時(shí)應(yīng)使用別名CREATEVIEW salvu50ASSELECTemployee_idID_NUMBER,last_nameNAME,salary*12ANN_SALARYFROMemployeesWHEREdepartment_id=50;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建視圖創(chuàng)建視圖時(shí)在子查詢中給列定義別名CREATEVIE35查詢視圖SELECT*FROM salvu50;Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖查詢視圖SELECT*Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料136查詢視圖
USER_VIEWS
EMPVU80SELECTemployee_id,last_name,salaryFROMemployeesWHEREdepartment_id=80;SQL*PlusSELECT*FROMempvu80;EMPLOYEESOracleServerOracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖查詢視圖USER_VIEWS37修改視圖使用CREATEORREPLACEVIEW子句修改視圖CREATEVIEW子句中各列的別名應(yīng)和子查詢中各列相對(duì)應(yīng)CREATEORREPLACEVIEWempvu80(id_number,name,sal,department_id)ASSELECTemployee_id,first_name||''||last_name,salary,department_idFROMemployeesWHEREdepartment_id=80;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖修改視圖使用CREATEORREPLACEVIEW子38創(chuàng)建復(fù)雜視圖復(fù)雜視圖舉例CREATEVIEW dept_sum_vu(name,minsal,maxsal,avgsal)ASSELECT d.department_name,MIN(e.salary),MAX(e.salary),AVG(e.salary)FROMemployeese,departmentsdWHEREe.department_id=d.department_idGROUPBYd.department_name;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖創(chuàng)建復(fù)雜視圖復(fù)雜視圖舉例CREATEVIEW dept_s39視圖中使用DML的規(guī)定可以在簡單視圖中執(zhí)行DML操作當(dāng)視圖定義中包含以下元素之一時(shí)不能使用delete:組函數(shù)GROUPBY子句DISTINCT關(guān)鍵字ROWNUM偽列Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖中使用DML的規(guī)定可以在簡單視圖中執(zhí)行DML操作Or40視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用update:組函數(shù)GROUPBY子句DISTINCT關(guān)鍵字ROWNUM偽列列的定義為表達(dá)式Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用41視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用insert:組函數(shù)GROUPBY子句DISTINCT關(guān)鍵字ROWNUM偽列列的定義為表達(dá)式表中非空的列在視圖定義中未包括Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖視圖中使用DML的規(guī)定當(dāng)視圖定義中包含以下元素之一時(shí)不能使用42使用WITHCHECKOPTION子句確保DML只能在特定的范圍內(nèi)執(zhí)行
任何違反WITHCHECKOPTION約束的請(qǐng)求都會(huì)失敗CREATEORREPLACEVIEWempvu20ASSELECT *FROMemployeesWHEREdepartment_id=20WITHCHECKOPTIONCONSTRAINTempvu20_ck;Viewcreated.WITH
CHECK
OPTION子句Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖使用WITHCHECKOPTION子句確保DML只能43屏蔽DML操作可以使用WITHREADONLY選項(xiàng)屏蔽對(duì)視圖的DML操作任何DML操作都會(huì)返回一個(gè)Oracleserver錯(cuò)誤Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖屏蔽DML操作可以使用WITHREADONLY選44屏蔽DML操作CREATEORREPLACEVIEWempvu10(employee_number,employee_name,job_title)ASSELECT employee_id,last_name,job_idFROMemployeesWHEREdepartment_id=10WITHREADONLY;Viewcreated.Oracle公司內(nèi)部數(shù)據(jù)庫培訓(xùn)資料11視圖屏蔽DML操作CREATEORREPLACEVIE45刪除視圖刪除視圖只是刪除視圖的定義,并不會(huì)刪除基表的數(shù)據(jù)DROPVIEWempvu80;Viewdropped.DROPVIEWview;Oracle公司
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告位置的租賃合同范本
- 連軸套模具課程設(shè)計(jì)
- 2025屆湖南省懷化市會(huì)同第一中學(xué)十校聯(lián)考最后生物試題含解析
- 二零二五版私募股權(quán)投資100%股權(quán)轉(zhuǎn)讓協(xié)議3篇
- 二零二五年度上市公司常年財(cái)務(wù)顧問聘請(qǐng)合同4篇
- 二零二五年度教育培訓(xùn)項(xiàng)目投標(biāo)擔(dān)保委托保證合同3篇
- 2025年度葡萄園病蟲害防治與養(yǎng)護(hù)承包協(xié)議4篇
- 二零二五年度電力建設(shè)工程量清單計(jì)價(jià)規(guī)范應(yīng)用細(xì)則合同3篇
- 2025年度煤炭項(xiàng)目投資合作協(xié)議書4篇
- 二零二五年綠色宜居之城生態(tài)補(bǔ)償機(jī)制咨詢合同4篇
- 中金在線測(cè)評(píng)多少題
- PEP新人教版小學(xué)英語單詞三到五年級(jí)
- 納米復(fù)合材料增強(qiáng)金屬基材
- 拆除豬場(chǎng)補(bǔ)償協(xié)議書模板
- 水利水電工程施工安全管理導(dǎo)則
- 5歲幼兒數(shù)學(xué)練習(xí)題
- 2024年高中生物新教材同步選擇性必修第三冊(cè)學(xué)習(xí)筆記第3章 本章知識(shí)網(wǎng)絡(luò)
- 2024年全國體育單招英語考卷和答案
- 食品安全管理制度可打印【7】
- 藥物流行病學(xué)教學(xué)大綱
- 健康管理師二級(jí)理論考核試題及答案
評(píng)論
0/150
提交評(píng)論