九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

《索引和視圖》PPT課件.ppt

上傳人:w****2 文檔編號:14728460 上傳時(shí)間:2020-07-29 格式:PPT 頁數(shù):55 大?。?.71MB
收藏 版權(quán)申訴 舉報(bào) 下載
《索引和視圖》PPT課件.ppt_第1頁
第1頁 / 共55頁
《索引和視圖》PPT課件.ppt_第2頁
第2頁 / 共55頁
《索引和視圖》PPT課件.ppt_第3頁
第3頁 / 共55頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《索引和視圖》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《索引和視圖》PPT課件.ppt(55頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、第6章 索引和視圖,6.1 索引 6.2 視圖,6.1 索引,6.1.1 索引基本概念 6.1.2 索引的存儲結(jié)構(gòu)及分類 6.1.3 創(chuàng)建和刪除索引,2020年7月29日3時(shí)6分,2,6.1 索引基本概念,索引與書籍中的目錄類似。 索引使對數(shù)據(jù)的查找不需要對整個(gè)表進(jìn)行掃描,就可以在其中找到所需數(shù)據(jù)。 可以為表中的單個(gè)列建立索引,也可以為一組列(索引項(xiàng))建立索引。 索引一般采用B樹結(jié)構(gòu)。,2020年7月29日3時(shí)6分,3,索引及數(shù)據(jù)間的對應(yīng)關(guān)系示意圖,索引的組織方式,索引項(xiàng)按數(shù)據(jù)頁(一塊固定大小的連續(xù)存儲空間)存儲。 表中的全部索引連在一起。,6.1.2 索引的存儲結(jié)構(gòu)及分類,聚集索引(Clus

2、tered Index,也稱為聚簇索引) 將數(shù)據(jù)按照索引項(xiàng)的順序進(jìn)行物理排序。 非聚集索引(Non-clustered Index,也稱為非聚簇索引)。 不對數(shù)據(jù)進(jìn)行物理排序。,兩類索引相同點(diǎn),聚集索引和非聚集索引一般都使用B-樹結(jié)構(gòu)來存儲索引項(xiàng), 都包含數(shù)據(jù)頁和索引頁, 索引頁用來存放索引項(xiàng)和指向下一層的指針, 數(shù)據(jù)頁用來存放數(shù)據(jù)。,B-樹結(jié)構(gòu),聚集索引,聚集索引的B-樹按自下而上建立,最下層的葉級節(jié)點(diǎn)存放數(shù)據(jù),它同時(shí)也是數(shù)據(jù)頁。 多個(gè)數(shù)據(jù)頁生成一個(gè)中間層節(jié)點(diǎn)的索引頁,然后再由數(shù)個(gè)中間層的節(jié)點(diǎn)的索引頁合成更上層的索引頁, 如此上推,直到生成頂層的根節(jié)點(diǎn)的索引頁。,9,建有聚集索引的表的存儲結(jié)

3、構(gòu)示意圖,數(shù)據(jù)示例,聚集索引,非聚集索引,聚集索引示例,12,數(shù)據(jù)示例,查找過程,當(dāng)在建有聚集索引的列上查找數(shù)據(jù)時(shí) 首先從聚集索引樹的入口(根節(jié)點(diǎn))開始逐層向下查找, 直到達(dá)到B-樹索引的葉級,也就是達(dá)到了要找的數(shù)據(jù)所在的數(shù)據(jù)頁, 最后只在這個(gè)數(shù)據(jù)頁中查找所需數(shù)據(jù),查找示例,SELECT * FROM employee WHERE eno=E08,說明,在聚集索引的葉節(jié)點(diǎn)中,數(shù)據(jù)按聚集索引項(xiàng)的值進(jìn)行物理排序。 因此,聚集索引很類似于電話號碼簿。 一個(gè)表只能包含一個(gè)聚集索引。 但一個(gè)索引可以由多個(gè)列(組合索引)組成。,下列情況可考慮創(chuàng)建聚集索,包含大量非重復(fù)值的列。 使用下列運(yùn)算符返回一個(gè)范圍值

4、的查詢:BETWEEN AND、=、 和 =。 被連續(xù)訪問的列。 不返回大型結(jié)果集的查詢。 經(jīng)常被用作連接的列。 ORDER BY或GROUP BY子句中指定的列。,下列情況不適于建立聚集索引,頻繁更改的列。 字節(jié)長的列。因?yàn)榫奂饕乃饕?xiàng)的值將被所有非聚集索引作為查找關(guān)鍵字使用,并被存儲在每個(gè)非聚集索引的B樹的葉級索引項(xiàng)中。,非聚集索引,非聚集索引與圖書后邊的術(shù)語表類似。數(shù)據(jù)存儲在一個(gè)地方,術(shù)語表存儲在另一個(gè)地方。而且數(shù)據(jù)并不按術(shù)語表的順序存放,但術(shù)語表中的每個(gè)詞在書中都有確切的位置。 非聚集索引就類似于術(shù)語表,而數(shù)據(jù)就類似于一本書的內(nèi)容。,非聚集索引的存儲示意圖,非聚集索引與聚集索引的差

5、別,數(shù)據(jù)不按非聚集索引關(guān)鍵字值的順序排序和存儲。 葉級節(jié)點(diǎn)不是存放數(shù)據(jù)的數(shù)據(jù)頁。 非聚集索引B樹的葉級節(jié)點(diǎn)是索引行。每個(gè)索引行包含非聚集索引關(guān)鍵字值以及一個(gè)或多個(gè)行定位器,這些行定位器指向該關(guān)鍵字值對應(yīng)的數(shù)據(jù)行(如果索引不唯一,則可能是多行),在eno列上建有非聚集索引的情形,數(shù)據(jù)示例,下述情況可考慮建立非聚集索引,包含大量非重復(fù)值的列。 不返回大型結(jié)果集的查詢。 經(jīng)常作為查詢條件使用的列。 經(jīng)常作為連接和分組條件的列。,唯一索引,確保索引列不包含重復(fù)值。 在組合唯一索引的情況下,可以確保索引列中每個(gè)值的組合都是唯一的。 例如,如果在last_name、first_name和middle_in

6、itial列的組合上創(chuàng)建了唯一索引full_name,則該表中任何兩個(gè)人都不可以具有完全相同的名字。 聚集索引和非聚集索引都可以是唯一的。,說明,如果必須要實(shí)施唯一性來確保數(shù)據(jù)的完整性,則應(yīng)在列上創(chuàng)建UNIQUE約束或PRIMARY KEY約束,而不要?jiǎng)?chuàng)建唯一索引。 例如,如果限制身份證號碼(sid)列的取值不重復(fù),則可在sid列上創(chuàng)建UNIQUE約束。 實(shí)際上,當(dāng)在表上創(chuàng)建PRIMARY KEY約束或UNIQUE約束時(shí),系統(tǒng)會自動在這些列上創(chuàng)建唯一索引。,創(chuàng)建索引,CREATE UNIQUECLUSTERED|NONCLUSTERED INDEX 索引名 ON 表名(列名 ,.n) UNIQ

7、UE:創(chuàng)建唯一索引。 CLUSTERED:創(chuàng)建聚集索引。 NONCLUSTERED:創(chuàng)建非聚集索引。 如果沒有指定索引類型,則默認(rèn)是創(chuàng)建非聚集索引。,示例,例1 為Student表的Sname列創(chuàng)建非聚集索引。 CREATE INDEX Sname_ind ON Stuent (Sname) 例2 為Student表的Sid列創(chuàng)建唯一聚集索引。 CREATE UNIQUE CLUSTERED INDEX Sid_ind ON Stuent (Sid ),示例,例3 為Employee表的FirstName和LastName列創(chuàng)建一個(gè)聚集索引。 CREATE CLUSTERED INDEX EN

8、ame_ind ON Employee(FirstName,LastName),刪除索引,刪除索引的基本語法格式為: DROP INDEX 例4 刪除Student表的Sname_ind索引 DROP INDEX Sname_ind,6.2 視圖,6.2.1 概念概念 6.2.2 定義視圖 6.2.3 通過視圖查詢數(shù)據(jù) 6.2.4 修改和刪除視圖 6.2.5 視圖的作用,6.2.1 基本概念,視圖是由從數(shù)據(jù)庫的基本表中選取出來的數(shù)據(jù)組成的邏輯窗口, 是基本表的部分行和列數(shù)據(jù)的組合。 視圖是一個(gè)虛表。 數(shù)據(jù)庫中只存儲視圖的定義,而不存儲視圖所包含的數(shù)據(jù)。,視圖與基本表關(guān)系,6.2.2 定義視圖,

9、CREATE VIEW (視圖列名表) AS 查詢語句 查詢語句中通常不包含ORDER BY和DISTINCT子句。 在定義視圖時(shí)要么指定視圖的全部列名,要么全部省略不寫。,說明,如果省略了視圖的“列名表”部分,則視圖的列名與查詢語句結(jié)果顯示的列名相同。 如下三種情況下必須明確指定視圖列名: 某個(gè)目標(biāo)列是函數(shù)或表達(dá)式,并且沒有為這樣的列起別名。 多表連接時(shí)選出了幾個(gè)同名列作為視圖的字段。 需要在視圖中為列選用新的更合適的列名。,定義單源表視圖,視圖取自一個(gè)基本表的部分行、列,視圖行列與基本表行列對應(yīng), 一般可看可改。,示例,CREATE VIEW IS_Student AS SELECT Sn

10、o, Sname, Ssex, Sage FROM Student WHERE Sdept = 信息系,例1建立信息系學(xué)生的的學(xué)號、姓名、性別和年齡視圖。,定義多源表視圖,子查詢源表多于一個(gè), 一般可看不可改。,36,示例,CREATE VIEW V_IS_S1(Sno, Sname, Grade) AS SELECT Student.Sno, Sname, Sage FROM Student, SC WHERE Sdept = 信息系 AND Student.Sno = SC.Sno AND SC.Cno = c01,例2建立信息系選修了c01課程的學(xué)生的學(xué)號、姓名和成績的視圖。,在已有視圖

11、上定義新視圖,視圖的數(shù)據(jù)源可以來自其它的視圖。,示例,CREATE VIEW IS_Student_Sage AS SELECT Sno, Sname, Sage FROM IS_Student WHERE Sage 20,例3利用例1建立的視圖,建立查詢信息管理系年齡小于20的學(xué)生的學(xué)號、姓名和年齡的視圖 。,示例,例4 在例1所建的視圖基礎(chǔ)上,例2的視圖定義可改為: CREATE VIEW V_IS_S2(Sno,Sname,Grade) AS SELECT SC.Sno, Sname, Grade FROM IS_Student JOIN SC ON IS_Student.Sno = S

12、C.Sno WHERE Cno = c01,2020年7月29日3時(shí)6分,40,定義帶表達(dá)式的視圖,定義基本表時(shí),為減少數(shù)據(jù)冗余,表中只存放基本數(shù)據(jù)。 由基本數(shù)據(jù)經(jīng)過各種計(jì)算派生出的數(shù)據(jù)一般不存儲。 由于視圖中的數(shù)據(jù)并不實(shí)際存儲,因此,可以在視圖中設(shè)置一些附加列來保存這些派生的數(shù)據(jù)。 由于這些附加列在基本表中并不實(shí)際存在,因此稱這些列為虛擬列。 稱包含虛擬列的視圖為帶表達(dá)式的視圖。,示例,例5.定義一個(gè)查詢學(xué)生出生年份的視圖,內(nèi)容包括學(xué)號,姓名和出生年份。 CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno, Sname, 2010 - Sage

13、FROM Student,含分組統(tǒng)計(jì)信息的視圖,子查詢中含GROUP BY子句,視圖行列由基本表行列得到, 數(shù)據(jù)只可看不可改。,示例,CREATE VIEW S_G AS SELECT Sno,AVG(Grade) AverageGrade FROM SC GROUP BY Sno,例6定義一個(gè)查詢每個(gè)學(xué)生的學(xué)號及平均成績的視圖。,6.2.3 通過視圖查詢數(shù)據(jù),視圖定義好后,可以對其進(jìn)行查詢, 通過視圖查詢數(shù)據(jù)同基本表一樣。,示例,例7:利用例1建立的視圖,查詢信息系男生的信息。 SELECT * FROM IS_Student WHERE Ssex = 男,轉(zhuǎn)換成相關(guān)基本表的等價(jià)查詢,SEL

14、ECT Sno, Sname, Ssex, Sage FROM Student WHERE Sdept = 信息系 AND Ssex = 男,示例,例8 查詢信息系選修了“cC01”號課程且成績大于等于60的學(xué)生的學(xué)號、姓名和成績。 這個(gè)查詢可以利用例2的視圖實(shí)現(xiàn)。 SELECT * FROM V_IS_S1 WHERE Grade = 60 此查詢轉(zhuǎn)換成的對最終基本表的查詢: SELECT S.Sno, Sname, Grade FROM SC JOIN Student S ON S.Sno = SC.Sno WHERE Sdept = 信息系 AND SC.Cno = c01 AND Gr

15、ade = 60,示例,例9.查詢信息系學(xué)生的學(xué)號、姓名、所選課程名 SELECT v.Sno, Sname, Cname FROM IS_Student v JOIN SC ON v.Sno = SC.Sno JOIN Course C ON C.Cno = SC.Cno 此查詢轉(zhuǎn)換成的對最終基本表的查詢: SELECT S.Sno, Sname, Cname FROM Student S JOIN SC ON S.Sno = SC.Sno JOIN Course C ON C.Cno = SC.Cno WHERE Sdept = 信息系,示例,例10 利用例6建立的視圖,查詢平均成績大于等

16、于80分的學(xué)生的學(xué)號和平均成績。 SELECT * FROM S_G WHERE AverageGrade = 80 此查詢轉(zhuǎn)換成的對最終基本表的查詢: SELECT Sno, AVG(Grade) FROM SC GROUP BY Sno HAVING AVG(Grade) = 80,注意,若將例10的查詢轉(zhuǎn)換為如下形式: SELECT Sno, AVG(Grade) FROM SC WHERE AVG(Grade) 80 GROUP BY Sno,x,視圖到基本表的轉(zhuǎn)換有些并不是直接進(jìn)行的。 目前大多數(shù)DBMS對這種含有統(tǒng)計(jì)函數(shù)的視圖的查詢均能進(jìn)行正確的轉(zhuǎn)換。,通過視圖修改數(shù)據(jù),也可以通過

17、視圖修改基本表中的數(shù)據(jù), 但并不是所有的視圖都可以用于修改數(shù)據(jù)。如經(jīng)過統(tǒng)計(jì)或表達(dá)式計(jì)算得到的視圖。 能否通過視圖修改數(shù)據(jù)的基本原則: 如果這個(gè)操作能夠最終落實(shí)到基本表上,并成為對基本表的正確操作,則可以 否則不行。,6.2.4 修改和刪除視圖,1.修改視圖 ALTER VIEW 視圖名( 列名 ,.n ) AS 查詢語句,示例,例11.修改S_G視圖,使其統(tǒng)計(jì)每個(gè)學(xué)生的考試平均成績和修課總門數(shù)。 ALTER VIEW S_G(Sno, AverageGrade,Count_Cno) AS SELECT Sno, AVG(Grade), Count(*) FROM SC GROUP BY Sno,2. 刪除視圖,格式: DROP VIEW 例刪除IS_Student視圖。 DROP VIEW IS_Student,6.2.5 視圖的作用,簡化數(shù)據(jù)查詢語句 使用戶能從多角度看待同一數(shù)據(jù) 提高了數(shù)據(jù)的安全性 提供了一定程度的邏輯獨(dú)立性,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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