關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言計(jì)算機(jī)教學(xué)課件PPT

上傳人:文*** 文檔編號(hào):56116198 上傳時(shí)間:2022-02-20 格式:PPT 頁(yè)數(shù):28 大?。?.07MB
收藏 版權(quán)申訴 舉報(bào) 下載
關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言計(jì)算機(jī)教學(xué)課件PPT_第1頁(yè)
第1頁(yè) / 共28頁(yè)
關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言計(jì)算機(jī)教學(xué)課件PPT_第2頁(yè)
第2頁(yè) / 共28頁(yè)
關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言計(jì)算機(jī)教學(xué)課件PPT_第3頁(yè)
第3頁(yè) / 共28頁(yè)

本資源只提供3頁(yè)預(yù)覽,全部文檔請(qǐng)下載后查看!喜歡就下載吧,查找使用更方便

20 積分

下載資源

資源描述:

《關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言計(jì)算機(jī)教學(xué)課件PPT》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言計(jì)算機(jī)教學(xué)課件PPT(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、關(guān)系數(shù)據(jù)庫(kù)與關(guān)系數(shù)據(jù)庫(kù)與SQL語(yǔ)言語(yǔ)言目 錄n第1章 數(shù)據(jù)庫(kù)基礎(chǔ)n第2章 關(guān)系庫(kù)的基本理論n第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)n第4章 Transact-SQL語(yǔ)言和SQL SERVER 2008n第5章 數(shù)據(jù)庫(kù)和表的創(chuàng)建n第6章 數(shù)據(jù)庫(kù)的查詢(xún)和視圖n第7章 存儲(chǔ)過(guò)程和觸發(fā)器n第8章 數(shù)據(jù)庫(kù)應(yīng)用實(shí)戰(zhàn)上堂回顧上堂回顧n6.2 數(shù)據(jù)更新數(shù)據(jù)更新 q6.2.1 數(shù)據(jù)插入數(shù)據(jù)插入q6.2.2 數(shù)據(jù)修改數(shù)據(jù)修改 q6.2.3 數(shù)據(jù)刪除數(shù)據(jù)刪除q6.2.4 數(shù)據(jù)更新小結(jié)數(shù)據(jù)更新小結(jié)本堂內(nèi)容本堂內(nèi)容n6.3 視圖與索引視圖與索引q視圖的概念視圖的概念q創(chuàng)建視圖創(chuàng)建視圖q管理視圖管理視圖6.3.1 視圖的概念視圖的概念n視圖

2、是從一個(gè)或幾個(gè)基本表(視圖)導(dǎo)出的虛表。q數(shù)據(jù)庫(kù)中只存放視圖的定義,不存放視圖的數(shù)據(jù)n基本表的數(shù)據(jù)若發(fā)生變化,從視圖中查詢(xún)出來(lái)的數(shù)據(jù)也隨之改變,反之亦然。n對(duì)視圖的操作與對(duì)表的操作一樣,可以進(jìn)行查詢(xún)、修改(有一定限制)和刪除。n可以在一個(gè)視圖上再定義一個(gè)視圖6.3.1 視圖的概念視圖的概念n視圖的優(yōu)點(diǎn)q視點(diǎn)集中q簡(jiǎn)化操作q定制數(shù)據(jù)q合并分割數(shù)據(jù)q安全性高6.3.2 創(chuàng)建視圖創(chuàng)建視圖創(chuàng)建視圖以提供一個(gè)方便地從兩個(gè)或多個(gè)聯(lián)接表中查看信息的方法,示例:1066310827104271045110515BONAP BONAP PICCO QUICKQUICK 1997-09-241998-01-261

3、997-02-241997-03-051997-05-071997-10-031998-02-061997-03-031997-03-121997-05-23OrdersCustomersShipStatusViewUSE NorthwindGOCREATE VIEW dbo.ShipStatusViewASSELECT OrderID, ShippedDate,ContactNameFROM Customer c INNER JOIN Orders o ON c.CustomerID = O.CustomerIDBONAPPICCOQUICKBon appPiccolo und mehrQU

4、ICK-StopLaurence LebihanGeorg PippsHorst Kloss10663108271042710451105151996-08-211996-08-291996-09-111997-10-031998-02-061997-03-031997-03-121997-05-23Laurence LebihanLaurence LebihanGeorg PippsHorst KlossHorst Kloss6.3.2 創(chuàng)建視圖創(chuàng)建視圖n使用Management Studio 創(chuàng)建視圖6.3.2 創(chuàng)建視圖創(chuàng)建視圖n 使用使用Transact-SQL 創(chuàng)建視圖創(chuàng)建視圖 cre

5、ate view view_name (列名 ,列名 ) as with check option n組成視圖的屬性列名或者全部省略或者全部指定。如果列名省略,視圖的屬性名默認(rèn)為子查詢(xún)結(jié)果中的屬性名,但下述三種情況必須明確指定視圖所有列名q1、某個(gè)目標(biāo)列不是單純的屬性名,而是集函數(shù)或列表達(dá)式q2、多表連接時(shí)選出的幾個(gè)同名列作為視圖的字段q3、需要在視圖中為某個(gè)列啟用新的更合適的名字nwith check option 確保對(duì)數(shù)據(jù)進(jìn)行的插入修改等操作都符合SELECT 語(yǔ)句中設(shè)置的準(zhǔn)則。6.3.2 創(chuàng)建視圖創(chuàng)建視圖n 在CREATE VIEW 語(yǔ)句中,對(duì)于SELECT 查詢(xún)語(yǔ)句有如下限制:q創(chuàng)建

6、視圖的用戶(hù)必須對(duì)該視圖所參照或引用的表或視圖具有適當(dāng)?shù)臋?quán)限q查詢(xún)表達(dá)式可以是任意復(fù)雜的select語(yǔ)句,但通常不可以包含 ORDER BY(如果要包含,則要用上TOP N percent )、COMPUTE 或 COMPUTE BY 子句,及 INTO 關(guān)鍵字q不能在臨時(shí)表上定義視圖6.3.2 創(chuàng)建視圖創(chuàng)建視圖nDBMS執(zhí)行create view語(yǔ)句的結(jié)果只是把視圖的定義存入數(shù)據(jù)庫(kù),并不執(zhí)行其中的select語(yǔ)句,只是在對(duì)視圖查詢(xún)時(shí),才按視圖的定義查詢(xún)數(shù)據(jù)q單表視圖q帶表達(dá)式的視圖q使用聚集函數(shù)的視圖q使用連接的視圖q使用子查詢(xún)的視圖q嵌套視圖6.3.2 創(chuàng)建視圖創(chuàng)建視圖-單表視圖單表視圖n若

7、一個(gè)視圖是從單個(gè)基本表導(dǎo)出,并且只是去掉了基本表的某些行和列,但保留了碼,我們稱(chēng)這類(lèi)視圖為行列子集視圖或單表視圖。如:建立信息系學(xué)生的視圖。create view is_student as select sno,sname,sage ,sdept from student where sdept=is6.3.2 創(chuàng)建視圖創(chuàng)建視圖帶表達(dá)式的視圖帶表達(dá)式的視圖n定義視圖的時(shí)候可以根據(jù)應(yīng)用的需要,設(shè)置一些派生屬性列(或稱(chēng)虛擬列)。n帶有虛擬列的視圖稱(chēng)為帶表達(dá)式的視圖定義一個(gè)反映學(xué)生出生年份的視圖 create view sbith_s(sno,sname,sbith) as select sno,

8、sname,2012-sage from student6.3.2 創(chuàng)建視圖創(chuàng)建視圖-使用聚集函數(shù)的視圖使用聚集函數(shù)的視圖n還可以用帶有聚集函數(shù)和group by子句的查詢(xún)來(lái)定義視圖,稱(chēng)為分組視圖(使用聚集函數(shù)的視圖)將學(xué)生的學(xué)號(hào)及他的平均成績(jī)定義為一個(gè)視圖 create view avgscore_s (sno,avgScore) as select sno,avg(score) from sc group by sno6.3.2 創(chuàng)建視圖創(chuàng)建視圖-使用連接的視使用連接的視圖圖n我們還可以創(chuàng)建由多個(gè)表連接后產(chǎn)生的視圖建立信息系選修了c01課程的學(xué)生的視圖create view is_c01_

9、s (sno,sname,score) as select student.sno,sname,score from student,sc where sdept=is and student.sno=sc.sno and o=c016.3.2 創(chuàng)建視圖創(chuàng)建視圖-使用子查詢(xún)的視圖使用子查詢(xún)的視圖n我們還可以創(chuàng)建通過(guò)子查詢(xún)產(chǎn)生的視圖創(chuàng)建成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào),姓名的視圖create view s_score1(sno,sname) as select sno,sname from student where sno in( select sno from sc where score=90

10、)6.3.2 創(chuàng)建視圖創(chuàng)建視圖-嵌套視圖嵌套視圖n 視圖也可以建立在一個(gè)或多個(gè)已定義好的視圖建立信息系選修了c01課程且成績(jī)?cè)?0分以上的學(xué)生的視圖create view is_c01_s2asselect sno,sname,scorefrom is_c01_swhere score=906.3.3 管理視圖管理視圖n修改視圖q修改視圖:可修改一個(gè)視圖(包括索引視圖)的定義,但不影響相關(guān)的存儲(chǔ)過(guò)程或觸發(fā)器,也不更改權(quán)限q通過(guò)Management Studio 查看和修改視圖n選中視圖,選擇鼠標(biāo)右鍵“修改”選項(xiàng)。q使用Transact-SQL語(yǔ)言修改視圖 alter view view_nam

11、e (列名 ,列名 ) as with check option n使用新的 SELECT 語(yǔ)句和選項(xiàng)代替原來(lái)的定義6.3.3 管理視圖管理視圖n使用存儲(chǔ)過(guò)程查看視圖信息qsp_depends view_namen指出該視圖所依賴(lài)的對(duì)象qsp_help view_name n返回該視圖的詳細(xì)信息qsp_helptext view_namen檢索出該視圖的定義文本n重命名視圖q通過(guò)Management Studio 重命名視圖n選中視圖,選擇鼠標(biāo)右鍵“重命名”選項(xiàng)q使用存儲(chǔ)過(guò)程重命名視圖 sp_rename old_name , new_nameq注意:n只能重命名自己擁有的視圖n數(shù)據(jù)庫(kù)所有者可

12、以更改任何用戶(hù)視圖的名稱(chēng)6.3.3 管理視圖管理視圖n刪除視圖q刪除視圖的格式: drop view view_nameq刪除視圖后視圖的定義將從數(shù)據(jù)庫(kù)中刪除。但是由該視圖導(dǎo)出的其他視圖仍定義在數(shù)據(jù)庫(kù)中,不過(guò)這些視圖已失效,使用時(shí)會(huì)出錯(cuò)。q刪除視圖is_s1 drop view is_s16.3.3 管理視圖管理視圖6.3.4 使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)n使用視圖對(duì)基表中的數(shù)據(jù)進(jìn)行插入、更新和刪除等操作時(shí)要注意以下幾點(diǎn):q每次修改都只能影響一個(gè)基表q不能修改那些通過(guò)計(jì)算得到的列n若視圖的字段來(lái)自聚集函數(shù),則此視圖不允許更新n若視圖中含有g(shù)roup by子句或disti

13、nct子句,則此視圖不允許更新n一個(gè)不允許更新的視圖上定義的視圖也不允許更新q執(zhí)行UPDATE 和DELETE命令時(shí),所更新或刪除的數(shù)據(jù)必須包含在視圖的結(jié)果集中。q如果視圖引用多個(gè)表,則n無(wú)法用DELETE命令刪除數(shù)據(jù)n使用INSERT 或 UPDATE 語(yǔ)句對(duì)視圖進(jìn)行操作時(shí),被插入或更新的列必須屬于同一個(gè)表n查詢(xún)視圖q視圖定義后,用戶(hù)可以象對(duì)基本表一樣對(duì)視圖進(jìn)行查詢(xún)?cè)谛畔⑾祵W(xué)生的視圖中找出年齡小于20歲的學(xué)生 select Sno,Sage from is_student where Sage20qDBMS執(zhí)行對(duì)視圖的查詢(xún)時(shí),首先進(jìn)行有效性檢查,檢查查詢(xún)的表,視圖是否存在。如果存在,則從數(shù)據(jù)

14、字典中取出視圖的定義,把定義中的子查詢(xún)和用戶(hù)的查詢(xún)結(jié)合起來(lái),轉(zhuǎn)換成等價(jià)的對(duì)基本表的查詢(xún),然后再執(zhí)行修正了的查詢(xún)。q所以上述語(yǔ)句等價(jià)與: select Sno ,Sage from Student where Sdept=is and Sage=70以上語(yǔ)句是否等價(jià)于: select sno,avg(score) from sc where avg(score)=70 group by sno不等價(jià):不等價(jià):注意HAVING 的用法應(yīng)等價(jià)于 select sno,avg(score) from sc group by sno having avg(score)=706.3.4 使用視圖管理數(shù)據(jù)表

15、中的數(shù)據(jù)使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)n插入數(shù)據(jù)q向信息系學(xué)生視圖插入一行新的學(xué)生數(shù)據(jù),姓名為趙敏,年齡為20歲Insert into is_studentvalues(08010,趙敏,20,IS)q上述語(yǔ)句執(zhí)行時(shí)轉(zhuǎn)換為:Insert into student(sno,sname,sage,sdept)values(08010,趙敏,20,IS)6.3.4 使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)n更新數(shù)據(jù)q將信息系學(xué)生視圖is_student中學(xué)號(hào)為07003的學(xué)生姓名改為“劉辰” update is_student set sname=劉辰 where sno=08003q上述語(yǔ)

16、句執(zhí)行時(shí)轉(zhuǎn)換為:update studentset sname= 劉辰where sno=08003 and sdept=is6.3.4 使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)n刪除數(shù)據(jù)q刪除信息系學(xué)生視圖is_student中學(xué)號(hào)為08009的記錄 delete from is_student where sno= 08009q上述語(yǔ)句執(zhí)行時(shí)轉(zhuǎn)換為:delete from studentwhere sno= 08009 and sdept=is6.3.4 使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)q在關(guān)系數(shù)據(jù)庫(kù)中,并不是所有的視圖都是可更新。一般來(lái)說(shuō),行列子集視圖都是可以更新的;而有些視圖的更新不能唯一的轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新,這類(lèi)視圖是不可更新的。q例如上面所講的s_g視圖。 update s_g set avgScore=80 where sno= 08009 此更新無(wú)法執(zhí)行q目前各個(gè)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)對(duì)視圖的更新還有待進(jìn)一步的規(guī)定,由于各系統(tǒng)實(shí)現(xiàn)方法上的差異,規(guī)定也不盡相同。6.3.4 使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)使用視圖管理數(shù)據(jù)表中的數(shù)據(jù)

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!