數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程(達(dá)夢(mèng)DM8) 課件 4.1視圖創(chuàng)建及管理_第1頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程(達(dá)夢(mèng)DM8) 課件 4.1視圖創(chuàng)建及管理_第2頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程(達(dá)夢(mèng)DM8) 課件 4.1視圖創(chuàng)建及管理_第3頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程(達(dá)夢(mèng)DM8) 課件 4.1視圖創(chuàng)建及管理_第4頁(yè)
數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程(達(dá)夢(mèng)DM8) 課件 4.1視圖創(chuàng)建及管理_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)基礎(chǔ)(基于達(dá)夢(mèng)DM8)數(shù)據(jù)查詢及管理44.1視圖創(chuàng)建及管理02視圖的創(chuàng)建01理解視圖03視圖數(shù)據(jù)的更新04視圖的刪除理解視圖4.1.14.1.1理解視圖1.視圖的概念從系統(tǒng)實(shí)現(xiàn)的角度看,視圖是一個(gè)虛表,是從一個(gè)或幾個(gè)表(或視圖)通過(guò)SELECT查詢語(yǔ)句導(dǎo)出的表,數(shù)據(jù)字典中只存放視圖的定義(由視圖名和查詢語(yǔ)句組成),而不存放對(duì)應(yīng)的數(shù)據(jù)。視圖中被查詢的表稱為視圖的基表。從用戶的角度來(lái)看,視圖就像一個(gè)窗口,透過(guò)它可以看到數(shù)據(jù)庫(kù)中用戶感興趣的數(shù)據(jù)和變化,故稱為視圖。視圖是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)提供給用戶以多種角度觀察數(shù)據(jù)庫(kù)中數(shù)據(jù)的重要機(jī)制,數(shù)據(jù)庫(kù)技術(shù)中一個(gè)十分重要的功能。4.1.1理解視圖2.視圖的作用

盡管在對(duì)視圖作查詢和更新時(shí)有各種限制,但視圖是提供給用戶以多種角度觀察數(shù)據(jù)庫(kù)中數(shù)據(jù)的重要機(jī)制,它簡(jiǎn)化了用戶數(shù)據(jù)模型,提供了邏輯數(shù)據(jù)獨(dú)立性,實(shí)現(xiàn)了數(shù)據(jù)共享和數(shù)據(jù)的安全保密。

其作用包括:

1)定制用戶數(shù)據(jù)

2)簡(jiǎn)化用戶操作

3)提高數(shù)據(jù)安全性

4)提供結(jié)構(gòu)邏輯獨(dú)立性視圖的創(chuàng)建4.1.24.1.2視圖的創(chuàng)建2.視圖的作用

創(chuàng)建視圖的基本語(yǔ)法如下。CREATE[ORREPLACE]VIEW[<模式名>.]<視圖名>[(<列名>{,<列名>})]AS<查詢說(shuō)明>[WITH[LOCAL|CASCADED]CHECKOPTION]|[WITHREADONLY];

①<模式名>指明被創(chuàng)建的視圖屬于哪個(gè)模式,缺省為當(dāng)前模式;

②<視圖名>指明被創(chuàng)建的視圖的名稱;

③<列名>指明被創(chuàng)建的視圖中列的名稱;4.1.2視圖的創(chuàng)建2.視圖的作用

創(chuàng)建視圖的基本語(yǔ)法如下。CREATE[ORREPLACE]VIEW[<模式名>.]<視圖名>[(<列名>{,<列名>})]AS<查詢說(shuō)明>[WITH[LOCAL|CASCADED]CHECKOPTION]|[WITHREADONLY];

④<子查詢表達(dá)式>標(biāo)識(shí)視圖所基于的表的行和列。其語(yǔ)法遵照SELECT語(yǔ)句的語(yǔ)法規(guī)則;

⑤<表連接>請(qǐng)參看連接查詢部分;4.1.2視圖的創(chuàng)建2.視圖的作用

創(chuàng)建視圖的基本語(yǔ)法如下。CREATE[ORREPLACE]VIEW[<模式名>.]<視圖名>[(<列名>{,<列名>})]AS<查詢說(shuō)明>[WITH[LOCAL|CASCADED]CHECKOPTION]|[WITHREADONLY];

④<子查詢表達(dá)式>標(biāo)識(shí)視圖所基于的表的行和列。其語(yǔ)法遵照SELECT語(yǔ)句的語(yǔ)法規(guī)則;

⑤<表連接>請(qǐng)參看連接查詢部分;4.1.2視圖的創(chuàng)建【案例4-1】在SCH_FACTORY模式下創(chuàng)建一個(gè)視圖VSTAFF,數(shù)據(jù)來(lái)自職工表STAFF中小于27歲的職工,隱藏職工的年齡、性別和籍貫,并且添加WITHCHECKOPTION。

CREATEORREPLACEVIEWSCH_FACTORY.VSTAFFASSELECT職工號(hào),姓名,電話號(hào)碼,部門號(hào)FROMSCH_FACTORY.STAFFWHERE年齡<27WITHCHECKOPTION;4.1.2視圖的創(chuàng)建【案例4-2】在SCH_FACTORY模式下創(chuàng)建一個(gè)視圖VNEWEMP,查詢部門是“新員工培訓(xùn)部”的職工,列包括職工號(hào),姓名,電話號(hào)碼,部門名。

SETSCHEMASCH_FACTORY;

CREATEVIEWVNEWEMPASSELECT職工號(hào),姓名,電話號(hào)碼,部門名FROMSTAFFLEFTJOINDEPTONSTAFF.部門號(hào)=DEPT.部門號(hào)WHEREDEPT.部門名='新員工培訓(xùn)部';視圖數(shù)據(jù)的更新4.1.31.理解視圖數(shù)據(jù)的更新

視圖數(shù)據(jù)的更新包括插入(INSERT)、刪除(DELETE)和修改(UPDATE)三類操作。由于視圖是虛表,并沒(méi)有實(shí)際存放數(shù)據(jù),因此對(duì)視圖的更新操作均要轉(zhuǎn)換成對(duì)基表的操作。

在SQL語(yǔ)言中,對(duì)視圖數(shù)據(jù)的更新語(yǔ)句與對(duì)基表數(shù)據(jù)的更新語(yǔ)句在格式與功能方面是一致的。2.視圖數(shù)據(jù)的更新案例CREATEORREPLACEVIEWSCH_FACTORY.VSTAFFASSELECT職工號(hào),姓名,電話號(hào)碼,部門號(hào)FROMSCH_FACTORY.STAFFWHERE年齡<27WITHCHECKOPTION;

在【案例4-1】中創(chuàng)建了視圖VSTAFF,在此重新說(shuō)明。該視圖創(chuàng)建在SCH_FACTORY模式下,數(shù)據(jù)來(lái)自職工表STAFF中小于27歲的職工,隱藏職工的年齡、性別和籍貫,并且添加WITHCHECKOPTION。WITHCHECKOPTION:此選項(xiàng)用于可更新視圖中。指明往該視圖中insert或update數(shù)據(jù)時(shí),插入行或更新行的數(shù)據(jù)必須滿足視圖定義中<查詢說(shuō)明>所指定的條件。如果不帶該選項(xiàng),則插入行或更新行的數(shù)據(jù)不必滿足視圖定義中<查詢說(shuō)明>所指定的條件。2.視圖數(shù)據(jù)的更新案例INSERTINTOSCH_FACTORY.VSTAFF(姓名,電話號(hào)碼,部門號(hào))VALUES('測(cè)試用戶88','0755-889900','100001');

【案例4-3】在SCH_FACTORY模式下往視圖VSTAFF中插入一個(gè)姓名“測(cè)試用戶88”,電話號(hào)碼“0755-889900,部門號(hào)100001的記錄。系統(tǒng)執(zhí)行該語(yǔ)句,會(huì)報(bào)告違反約束錯(cuò)誤,因?yàn)閂STAFF盡管是視圖,在做插入數(shù)據(jù)時(shí)一樣要考慮基表間的一些非空約束。2.視圖數(shù)據(jù)的更新案例UPDATESCH_FACTORY.VSTAFFSET部門號(hào)='100001';

【案例4-4】在SCH_FACTORY模式下修改VSTAFF所有職工的部門號(hào)為100001。

可以驗(yàn)證,視圖中的數(shù)據(jù)修改了,STAFF中符合VSTAFF視圖條件的數(shù)據(jù)也修改了。

由于以上視圖定義包含可選項(xiàng)WITHCHECKOPTION,以后對(duì)該視圖作插入、修改和刪除操作時(shí),系統(tǒng)均會(huì)自動(dòng)用WHERE后的條件作檢查,不滿足條件的數(shù)據(jù),則不能通過(guò)該視圖更新相應(yīng)基表中的數(shù)據(jù)。2.視圖數(shù)據(jù)的更新案例CREATEORREPLACEVIEWSCH_FACTORY.VSTAFF2ASSELECT職工號(hào),姓名,電話號(hào)碼,部門號(hào)FROMSCH_FACTORY.STAFFWHERE年齡>=27WITHCHECKOPTION;

【案例4-5】在SCH_FACTORY模式下創(chuàng)建一個(gè)視圖VSTAFF2,數(shù)據(jù)來(lái)自職工表STAFF中大于等于27歲的職工,隱藏職工的年齡、性別和籍貫,并且添加WITHCHECKOPTION。然后刪除該視圖中姓名包含“測(cè)試”兩個(gè)字的記錄。創(chuàng)建視圖VSTAFF2成功。2.視圖數(shù)據(jù)的更新案例DELETEFROMSCH_FACTORY.VSTAFF2WHERE姓名LIKE'%測(cè)試%刪除%';COMMIT;

【案例4-5】在SCH_FACTORY模式下創(chuàng)建一個(gè)視圖VSTAFF2,數(shù)據(jù)來(lái)自職工表STAFF中大于等于27歲的職工,隱藏職工的年齡、性別和籍貫,并且添加WITHCHECKOPTION。然后刪除該視圖中姓名包含“測(cè)試”“刪除”兩個(gè)關(guān)鍵字的記錄。接著按要求刪除記錄成功。視圖的刪除4.1.44.1.4視圖的刪除一個(gè)視圖本質(zhì)上是基于其他基表或視圖上的查詢,這種對(duì)象間關(guān)系稱為依賴。用戶在創(chuàng)建視圖成功后,系統(tǒng)還隱式地建立了相應(yīng)對(duì)象間的依賴關(guān)系。在一般情況

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論