版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
4.1.1索引的概念模式、外模式和內(nèi)模式中的基本對(duì)象有數(shù)據(jù)庫(kù)、表、視圖和索引。其中表是面向整個(gè)系統(tǒng)的,它描述了關(guān)系的邏輯結(jié)構(gòu),屬于模式范疇;視圖是面向用戶的,它描述了關(guān)系的部分邏輯結(jié)構(gòu),屬于子模式范疇;而索引是關(guān)系數(shù)據(jù)庫(kù)的內(nèi)部實(shí)現(xiàn)技術(shù),屬于內(nèi)模式范疇。用戶可以根據(jù)應(yīng)用的需要,在基表上創(chuàng)建一個(gè)或多個(gè)索引,以提供多種存取路徑,加快查詢速度。1、什么是索引表掃描查找方式就好像在圖書館里找一本書時(shí),將圖書館中所有的書都找一遍,這樣做的效率毫無疑問是非常低的。索引結(jié)構(gòu)實(shí)現(xiàn)直接定位的訪問方式。索引的工作方式非常類似于書的目錄。如果希望了解某一特定章節(jié)的內(nèi)容,可以在書的目錄中查找該章節(jié)內(nèi)容的起始頁(yè),然后讀這些頁(yè),查找需要的信息。
4.1.1索引的概念2、稠密索引和稀疏索引用于在表中查找特定元組的屬性或?qū)傩约Q為搜索碼。注意這里的碼的定義與主碼、候選碼以及超碼中的定義不同。索引是由一個(gè)個(gè)索引項(xiàng)組成的,每個(gè)索引項(xiàng)由一個(gè)搜索碼值和指向具有該搜索碼值的一個(gè)或多個(gè)元組的指針構(gòu)成,整個(gè)索引按索引項(xiàng)中的搜索碼值有序排列。表中每個(gè)搜索碼值都有一個(gè)索引項(xiàng),這種索引稱為稠密索引。Sno Sno Sname Ssex Sage Major Address1600116001 張文杰 男 21 計(jì)算機(jī) …16003 16003 沈婷 女 20 通信 …16004 16004 劉鵬飛 男 20 計(jì)算機(jī) …16005 16005 王翔 男 21 通信 …16007 16007 陸文婷 女 19 計(jì)算機(jī) …16008 16008 陳亮 男 20 計(jì)算機(jī)…16009 16009 李春紅 女 21 通信 …16011 16011 孫莉 女 19 電子 …16012 16012 徐澤南 男 20 電子 …
4.1.1索引的概念2、稠密索引和稀疏索引當(dāng)表按照搜索碼值有序存儲(chǔ)時(shí),可以只為搜索碼的某些值建立索引項(xiàng),這種索引稱為稀疏索引
。
假定要查找學(xué)號(hào)Sno為16004的學(xué)生記錄,在稠密索引中,可以利用索引直接找到所需記錄的指針。在稀疏索引中,由于沒有Sno為16004索引項(xiàng),只能找到比16004小的最后一個(gè)索引項(xiàng)16001,于是可以按著該指針查找,然后順序讀取S表,直到查找到所需的記錄。Sno Sno Sname Ssex Sage Major Address1600116001 張文杰 男 21 計(jì)算機(jī) …16005 16003 沈婷 女 20 通信 …16009 16004 劉鵬飛 男 20 計(jì)算機(jī) … 16005 王翔 男 21 通信 … 16007 陸文婷 女 19 計(jì)算機(jī) … 16008 陳亮 男 20 計(jì)算機(jī)… 16009 李春紅 女 21 通信 … 16011 孫莉 女 19 電子 … 16012 徐澤南 男 20 電子 …稠密索引比稀疏索引更快地定位一條記錄,稀疏索引也有比稠密索引優(yōu)越的地方。
4.1.1索引的概念3、多級(jí)索引
通常為每一個(gè)數(shù)據(jù)塊建一個(gè)索引項(xiàng)的稀疏索引是一個(gè)較好的折中,因?yàn)椴檎业拈_銷主要由把數(shù)據(jù)塊從磁盤讀到內(nèi)存的時(shí)間決定。一旦把塊讀入內(nèi)存,在塊中查找的時(shí)間可以忽略。如索引小到可以放在內(nèi)存中,那么搜索一個(gè)索引項(xiàng)的時(shí)間就可以忽略。
由于索引項(xiàng)總是有序的,可在內(nèi)層索引上構(gòu)造一個(gè)稀疏的外層索引。
……………………數(shù)據(jù)塊0數(shù)據(jù)塊1索引塊0索引塊1內(nèi)層索引外層索引107個(gè)元組,一個(gè)4KB的磁盤塊中可以容納10個(gè)元組和100個(gè)索引項(xiàng)。內(nèi)層索引中有106個(gè)索引項(xiàng),需要占用104個(gè)塊,而外層索引只有104個(gè)索引項(xiàng),僅占用100塊。外層索引完全可以常駐內(nèi)存
109個(gè)元組,內(nèi)層索引中有108個(gè)索引項(xiàng),占用106個(gè)塊,外層索引有106個(gè)索引項(xiàng),占用104個(gè)塊。這時(shí),可再創(chuàng)建另一級(jí)索引。具有兩級(jí)或兩級(jí)以上的索引稱為多級(jí)索引。
4.1.1索引的概念4、聚集索引和輔助索引索引有多種分類方法。根據(jù)索引的存儲(chǔ)結(jié)構(gòu)來分,可以將索引分為聚集索引(ClusteringIndex)和輔助索引(SecondaryIndex,即非聚集索引NonclusteringIndex)兩大類;根據(jù)搜索碼值是否允許重復(fù)來分,可以將索引分為唯一索引和非唯一索引兩大類;根據(jù)索引搜索碼中的屬性數(shù)來分,可以將索引分為單索引和復(fù)合索引兩大類。SnameSno Sname Ssex…陳亮 16001 張文杰 男…李春紅 16003 沈婷 女…劉鵬飛 16004 劉鵬飛 男…陸文婷 16005 王翔 男…沈婷 16007 陸文婷 女…孫莉 16008 陳亮 男…王翔 16009 李春紅 女…徐澤南 16011 孫莉 女…張文杰 16012 徐澤南 男…所謂聚集索引就是指表中的元組按照索引中搜索碼指定的順序排序,使得具有相同搜索碼值的元組在物理上聚集在一起。顯然,一張表最多只能有一個(gè)聚集索引。聚集索引往往是稀疏索引。見圖4.2。輔助索引必須是稠密索引,因?yàn)楸碇械脑M是按聚集索引的搜索碼有序存放的。顯然,一張表可以創(chuàng)建多個(gè)輔助索引。不管是聚集索引,還是輔助索引,當(dāng)索引項(xiàng)很多時(shí),它們都可以是多級(jí)索引。
4.1.2創(chuàng)建索引的基本原則設(shè)計(jì)高效的索引對(duì)于獲得良好的數(shù)據(jù)庫(kù)和應(yīng)用程序性能極為重要??傮w索引設(shè)計(jì)策略應(yīng)為查詢優(yōu)化器提供可供選擇的多個(gè)索引,并由查詢優(yōu)化器做出正確的決定。索引一方面可以加快查詢速度,提高對(duì)數(shù)據(jù)表的訪問效率。另一方面,索引需要占用磁盤空間,系統(tǒng)對(duì)索引的維護(hù)使得當(dāng)對(duì)數(shù)據(jù)進(jìn)行增刪改操作時(shí)所需花費(fèi)的時(shí)間會(huì)更長(zhǎng)。設(shè)計(jì)一個(gè)合理的索引配置方案是一項(xiàng)需要在查詢速度與更新所需開銷之間取得平衡的復(fù)雜任務(wù),可能需要進(jìn)行多次設(shè)計(jì)方案的試驗(yàn),才能找到最合理有效的索引方案。設(shè)計(jì)索引時(shí),應(yīng)考慮以下原則:(1)應(yīng)避免對(duì)經(jīng)常更新的表進(jìn)行過多的索引。(2)對(duì)小表進(jìn)行索引可能不會(huì)產(chǎn)生優(yōu)化效果,應(yīng)避免對(duì)小表創(chuàng)建索引。
4.1.2創(chuàng)建索引的基本原則(3)使用多個(gè)索引可以提高更新少而數(shù)據(jù)量大的查詢的性能。(4)應(yīng)檢查屬性列中的數(shù)據(jù)分布,對(duì)于包含很多重復(fù)值的屬性列避免創(chuàng)建索引。
(5)考慮對(duì)下列查詢中涉及的屬性列創(chuàng)建聚集索引:①WHERE子句條件中經(jīng)常使用BETWEEN、>、>=、<和<=運(yùn)算符進(jìn)行比較的屬性列;②出現(xiàn)在JOIN子句連接條件中的屬性列;③ORDERBY或GROUPBY子句中的屬性列。但經(jīng)常更新的列不宜建聚簇索引,因?yàn)楦略撍饕猩系臄?shù)據(jù)時(shí),往往會(huì)導(dǎo)致表中元組物理順序的改變,代價(jià)太大。(6)非聚集索引包含搜索碼值和指向表數(shù)據(jù)存儲(chǔ)位置的指針。非聚集索引可以提高涉及經(jīng)常使用的、但沒有建立聚集索引的屬性列的查詢的性能。非聚集索引成為完全匹配查詢(即“=”比較)的最佳選擇。另外,考慮對(duì)JOIN子句連接條件中的屬性列和GROUPBY子句中的屬性列創(chuàng)建非聚集索引。
4.1.2創(chuàng)建索引的基本原則(7)如果索引是復(fù)合索引,則應(yīng)考慮屬性列的順序。WHERE子句條件中使用BETWEEN、>、<和=運(yùn)算符進(jìn)行比較的屬性列或者JOIN子句連接條件中的屬性列應(yīng)該放在最前面。其他屬性列應(yīng)該基于其非重復(fù)級(jí)別進(jìn)行排序,就是說,從最不重復(fù)的列到最重復(fù)的列。例如,如果將索引定義在LastName和FirstName屬性列上,則該索引在搜索條件為WHERELastName='Smith'或WHERELastName='Smith'ANDFirstNameLIKE'J%'時(shí)將很有用。但是,查詢優(yōu)化器不會(huì)將此索引用于基于FirstName(如WHEREFirstName='Jane')搜索的查詢。(8)唯一索引能夠保證搜索碼中不包含重復(fù)的值,從而使表中的每一行從某種方式上具有唯一性。只有當(dāng)唯一性是數(shù)據(jù)本身的特征時(shí),指定唯一索引才有意義。只要列中的數(shù)據(jù)是唯一的,就可以為同一個(gè)表創(chuàng)建一個(gè)唯一聚集索引和多個(gè)唯一非聚集索引。唯一索引的優(yōu)點(diǎn)有:①能夠確保定義的屬性列的數(shù)據(jù)完整性;②提供了對(duì)查詢優(yōu)化器有用的附加信息。
4.1.3索引的創(chuàng)建與刪除1、創(chuàng)建索引其一般格式如下:
CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX<索引名>ON<表名>(<列名>[ASC|DESC][,…n])NONCLUSTERED是默認(rèn)值,ASC是默認(rèn)值。如果既要?jiǎng)?chuàng)建聚集索引,又要?jiǎng)?chuàng)建非聚集索引,則應(yīng)該先創(chuàng)建聚集索引,后創(chuàng)建非聚集索引。SQLServer2014規(guī)定一張表最多可以有249個(gè)非聚集索引,一個(gè)復(fù)合索引最多可組合16列,列的長(zhǎng)度累計(jì)不能超過900字節(jié)。另外,T-SQL語言的CREATETABLE語句中的PRIMARYKEY約束默認(rèn)會(huì)創(chuàng)建唯一聚集索引,而UNIQUE約束默認(rèn)會(huì)創(chuàng)建唯一非聚集索引。例4.1
為C表的課程名按升序創(chuàng)建一個(gè)唯一非聚集索引。
CREATEUNIQUEINDEXIndex_C_CnameONC(Cname)例4.2
對(duì)SC表按課程號(hào)升序和選修日期降序創(chuàng)建一個(gè)復(fù)合非聚集索引。
CREATEINDEXIndex_SC_CnoSdateONSC(Cno,SdateDESC)
4.1.3索引的創(chuàng)建與刪除2、刪除索引索引一經(jīng)建立,就由系統(tǒng)使用和維護(hù)它,不需用戶干預(yù)??蓜h除一些不必要的索引,其一般格式如下:
DROPINDEX<索引名>例4.3
刪除SC表上的Index_SC_CnoSdate索引。
DROPINDEXSC.Index_SC_CnoSdate
說明:在SQLServer2014中,在索引名前必須加表名。另外,由CREATETABLE語句中的約束自動(dòng)創(chuàng)建的索引不能用DROPINDEX語句刪除。
4.1.4SQLServer2014中的索引1、索引的結(jié)構(gòu)在SQLServer中,如果一個(gè)表沒有創(chuàng)建索引,則數(shù)據(jù)行不按任何特定的順序存儲(chǔ),這種結(jié)構(gòu)稱為堆集。不管是聚集索引還是非聚集索引都按B樹結(jié)構(gòu)進(jìn)行組織的,B樹中的每一頁(yè)稱為一個(gè)索引節(jié)點(diǎn)。每級(jí)索引中的頁(yè)均被鏈接在雙向鏈表中。多級(jí)索引構(gòu)成了一棵樹,樹中有的節(jié)點(diǎn)是滿的,有的節(jié)點(diǎn)有很多閑置空間,還有一種情況就是樹的左右各分支可能很不平衡。所謂B樹就是一種平衡樹,它能有效解決儲(chǔ)存空間浪費(fèi)與查找效率下降
。關(guān)于B樹的詳細(xì)討論請(qǐng)“數(shù)據(jù)結(jié)構(gòu)”。
4.1.4SQLServer2014中的索引SQLServer2014中的聚集索引和非聚集索引結(jié)構(gòu)。非聚集索引中的行定位器有兩種形式:如果表是堆集,行定位器就是指向行的指針(行ID);如果表有唯一聚集索引,則行定位器就是行的聚集索引鍵,否則是一個(gè)內(nèi)部添加值(稱為唯一值)。
4.1.4SQLServer2014中的索引2、觀察索引在查詢中的作用T-SQL語言中的SETSTATISTICSIO{ON|OFF}語句,該語句可以讓系統(tǒng)顯示或不顯示DML語句的磁盤I/O統(tǒng)計(jì)信息。
選擇SSMS主菜單“查詢”中的“包括實(shí)際的執(zhí)行計(jì)劃”命令,可以讓系統(tǒng)顯示或不顯示DML語句的圖形化執(zhí)行計(jì)劃并估計(jì)語句對(duì)資源的需求。執(zhí)行語句SELECT*FROMtempWHEREid=23456。
沒有索引:對(duì)表temp掃描1次,邏輯讀640次,物理讀0次;采用TableScan執(zhí)行計(jì)劃,并顯示估計(jì)I/O開銷為0.476537,估計(jì)CPU開銷為0.0880785,總開銷為0.564615。創(chuàng)建索引后:對(duì)表temp掃描0次,邏輯讀3次,物理讀0次;采用IndexSeek和RIDLookup執(zhí)行計(jì)劃,并顯示估計(jì)I/O開銷兩者均為0.003125,估計(jì)CPU開銷兩者均為0.0001581,總開銷為0.0065662。
4.2視圖視圖(View)從邏輯上看,它屬于外模式,它是從一張或幾張基本表(或視圖)導(dǎo)出的表。與基本表不同,視圖是一張?zhí)摫恚跀?shù)據(jù)庫(kù)中只存放視圖的定義(即SELECT語句),不存放視圖對(duì)應(yīng)的數(shù)據(jù)(即SELECT語句的查詢結(jié)果)。所以基本表中的數(shù)據(jù)一旦發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也就隨之改變了。從這個(gè)意義上講,視圖就像一個(gè)窗口,通過它用戶可以看到數(shù)據(jù)庫(kù)中自己感興趣的數(shù)據(jù)及其變化。視圖一經(jīng)定義,就可以和基本表一樣被查詢和刪除,也可以在一個(gè)視圖之上再定義新的視圖,但對(duì)視圖的更新(增加、刪除、修改)操作則有一定的限制。
4.2.1視圖的定義與刪除1、定義視圖其一般格式如下:
CREATEVIEW<視圖名>[(<列名>[,…])]AS<子查詢>[WITHCHECKOPTION]
其中的子查詢可以是任意復(fù)雜的SELECT語句,但通常不允許含有ORDERBY子句。WITHCHECKOPTION表示用戶必須保證每當(dāng)向該視圖中插入或修改數(shù)據(jù)時(shí),所插入或修改的數(shù)據(jù)能夠從該視圖查詢出來。下列三種情況下必須明確指定組成視圖的屬性列名:(1)某個(gè)目標(biāo)列是聚集函數(shù)或列表達(dá)式;(2)多表連接時(shí)有同名的列(即<表名>.<列名>形式的列)作為視圖的屬性列;(3)需要在視圖中為某個(gè)列啟用新的更合適的名字。
4.2.1視圖的定義與刪除1、定義視圖例4.4
創(chuàng)建由計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名、性別和聯(lián)系電話組成的視圖。
CREATEVIEWCS_S--行列子集視圖
ASSELECTSno,Sname,Ssex,MphoneFROMSWHEREMajor='計(jì)算機(jī)'例4.5
創(chuàng)建在2017秋選修了2002號(hào)課程的學(xué)生視圖,該視圖包括學(xué)號(hào)、姓名、性別、專業(yè)和成績(jī)。
CREATEVIEWS_2002(Sno,Sname,Ssex,Major,Score)ASSELECTS.Sno,Sname,Ssex,Major,ScoreFROMSJOINSCONS.Sno=SC.SnoWHERESdate='2017秋'ANDCno='2002'
4.2.1視圖的定義與刪除1、定義視圖例4.6
創(chuàng)建在2017秋選修了2002號(hào)課程的計(jì)算機(jī)專業(yè)學(xué)生視圖,該視圖包括學(xué)號(hào)、姓名、性別和成績(jī)。
CREATEVIEWS_CS2002ASSELECTSno,Sname,Ssex,ScoreFROMS_2002--建立在視圖S_2002之上
WHEREMajor='計(jì)算機(jī)'例4.7
創(chuàng)建一個(gè)由每個(gè)學(xué)生的學(xué)號(hào)及所有已考課程的平均成績(jī)組成的試圖。
CREATEVIEWS_AVG(Sno,AVG_S)--分組視圖
ASSELECTSno,AVG(Score)FROMSCWHEREScoreISNOTNULLGROUPBYSno
4.2.1視圖的定義與刪除1、定義視圖例4.8
創(chuàng)建一個(gè)由全體女生組成的視圖。
CREATEVIEWF_SASSELECT*FROMSWHERESsex='女'
說明:由于SELECT子句中出現(xiàn)了“*”,所以視圖F_S的屬性列與表S的屬性列一一對(duì)應(yīng)。如果以后修改了表S的結(jié)構(gòu),就會(huì)破壞原來的對(duì)應(yīng)關(guān)系,使得視圖F_S不能正確工作。2、刪除視圖其一般格式如下:
DROPVIEW<視圖名>例4.9
刪除視圖S_CS2002。
DROPVIEWS_CS2002需要說明的是:如果刪除了基本表S(或視圖S_2002),但在它基礎(chǔ)上創(chuàng)建的視圖CS_S(或視圖S_CS2002)仍然存在,但已不能正常使用,必須顯式刪除。
4.2.2查詢視圖一般情況下,視圖可以像基本表那樣使用,視圖名可以出現(xiàn)在基表名可以出現(xiàn)的地方。當(dāng)然,視圖定義后,可以像基本表一樣對(duì)其進(jìn)行查詢。例4.10
在視圖CS_S中找出計(jì)算機(jī)專業(yè)女生的學(xué)號(hào)、姓名和聯(lián)系電話。
SELECTSno,Sname,MphoneFROMCS_SWHERESsex='女'視圖消解后
SELECTSno,Sname,MphoneFROMSWHEREMajor='計(jì)算機(jī)'ANDSsex='女'例4.11找出在2017春選修了1002號(hào)課程的計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名、性別和成績(jī)。
SELECTSC.Sno,Sname,Ssex,ScoreFROMCS_SJOINSCONCS_S.Sno=SC.SnoWHERESdate='2017春'ANDCno='1002'CREATEVIEWCS_SASSELECTSno,Sname,Ssex,MphoneFROMSWHEREMajor='計(jì)算機(jī)'
4.2.2查詢視圖例4.12
找出所有已考課程的平均成績(jī)?cè)?0分以上的學(xué)生學(xué)號(hào)。
SELECTSnoFROMS_AVGWHEREAVG_S>80本例轉(zhuǎn)換后的查詢語句為:
SELECTSnoFROMSCWHEREScoreISNOTNULLGROUPBYSno
HAVINGAVG(Score)>80
說明:本例中S_AVG是一個(gè)分組視圖,WHERE子句中的查詢條件AVG_S>80,轉(zhuǎn)換后變?yōu)锳VG(Score)>80出現(xiàn)在了HAVING子句中,而不能機(jī)械地仍然在WHERE子句中,否則將會(huì)出現(xiàn)語法錯(cuò)誤。目前大多數(shù)的RDBMS都能對(duì)此做正確的轉(zhuǎn)換。CREATEVIEWS_AVG(Sno,AVG_S)ASSELECTSno,AVG(Score)FROMSCWHEREScoreISNOTNULLGROUPBYSno
4.2.3更新視圖更新視圖是指通過視圖進(jìn)行數(shù)據(jù)的插入、刪除和修改。由于視圖是不存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新最終也是轉(zhuǎn)換為對(duì)其基表的更新。
CREATEVIEWCS1_SASSELECTSno,Sname,Ssex,Sage,Major,MphoneFROMSWHEREMajor='計(jì)算機(jī)'
CREATEVIEWCS2_SASSELECTSno,Sname,Ssex,Sage,Major,MphoneFROMSWHEREMajor='計(jì)算機(jī)'
WITHCHECKOPTION
4.2.3更新視圖例4.13
向計(jì)算機(jī)專業(yè)學(xué)生視圖CS1_S中插入一個(gè)新的學(xué)生記錄,其中學(xué)號(hào)為16008,姓名為陳亮,性別為男性,聯(lián)系電話
INSERTINTOCS1_S(Sno,Sname,Ssex,Mphone)VALUES('16008','陳亮','男',)轉(zhuǎn)換為對(duì)基本表的更新:
INSERTINTOS(Sno,Sname,Ssex,Major,Mphone)VALUES('16008','陳亮','男',null,)
說明:在SQLServer2014中插入操作成功,但由于Major為null,導(dǎo)致在CS1_S視圖中看不到剛才插入的學(xué)生。
4.2.3更新視圖例4.14
將計(jì)算機(jī)專業(yè)學(xué)生視圖CS1_S中學(xué)號(hào)為16004的學(xué)生年齡由20改為22,專業(yè)由計(jì)算機(jī)改為通信。
UPDATECS1_SSETSage=22,Major='通信'WHERESno='16004'轉(zhuǎn)換為對(duì)基本表的更新:
UPDATESSETSage=22,Major='通信'WHEREMajor='計(jì)算機(jī)'ANDSno='16004'
說明:在SQLServer2014中修改操作成功,但由于Major已改為通信,導(dǎo)致在CS1_S視圖中看不到剛才修改過的學(xué)生。
4.2.3更新視圖雖然例4.13和4.14中的操作都成功,但在操作的對(duì)象CS1_S中都看不到操作結(jié)果,有點(diǎn)匪夷所思。為了防止這種情況的出現(xiàn),SQL語言中可以通過在定義視圖時(shí)加上WITHCHECKOPTION子句來解決。如果將例4.13和4.14中的操作對(duì)象改為CS2_S,那么操作都會(huì)被拒絕執(zhí)行,因?yàn)檫@些操作都會(huì)導(dǎo)致操作結(jié)果不滿足視圖定義中的條件。當(dāng)然,如果在例4.13中明確16008號(hào)學(xué)生的專業(yè)是計(jì)算機(jī),例4.14中僅僅修改16004號(hào)學(xué)生的年齡,那么通過視圖CS1_S或CS2_S都可以完成插入和修改操作,而且也可以通過視圖CS1_S或CS2_S查看操作結(jié)果。
4.2.3更新視圖例4.15
刪除計(jì)算機(jī)專業(yè)學(xué)生視圖CS2_S中學(xué)號(hào)為16008的學(xué)生。
DELETEFROMCS2_SWHERESno='16008'
要特別說明的是:更新視圖有許多限制,對(duì)視圖的許多更新操作是不能唯一地有意義地轉(zhuǎn)換成對(duì)相應(yīng)基表的更新。例如,對(duì)視圖S_AVG要修改它的AVG_S列是無法轉(zhuǎn)換成對(duì)基表SC的修改的。哪些視圖是可以更新的,目前各個(gè)RDBMS有不同的規(guī)定,一般來說,如果定義視圖的子查詢對(duì)下列條件都能滿足,那么該視圖是可以更新的:(1)FROM子句中只有一個(gè)數(shù)據(jù)庫(kù)關(guān)系;(2)SELECT子句中只包含關(guān)系的屬性名,不包含任何表達(dá)式、聚集函數(shù)或DISTINCT短語;(3)沒有出現(xiàn)在SELECT子句中的屬性可以取空值(即這些屬性上沒有NOTNULL約束),也不是主碼中的屬性;(4)子查詢中沒有GROUPBY或HAVING子句。
4.2.4視圖的作用
(1)由于視圖在邏輯上屬于外模式,因此,視圖對(duì)重構(gòu)數(shù)據(jù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 洗瓶器課程設(shè)計(jì)動(dòng)圖
- 2025年度砂石存放地租賃合同:高標(biāo)準(zhǔn)倉(cāng)儲(chǔ)服務(wù)協(xié)議3篇
- 二零二五年度房產(chǎn)買賣居間代理合同模板6篇
- 基坑爆破作業(yè)安全技術(shù)規(guī)程模版(2篇)
- 二零二五年度吊裝設(shè)備租賃及工程進(jìn)度管理合同2篇
- 液壓缸的設(shè)計(jì)課程設(shè)計(jì)
- 二零二五年度冷鏈物流搬運(yùn)配送承包協(xié)議2篇
- 資助中心資助實(shí)施方案范文(2篇)
- 2025年文明校園演講稿范例(2篇)
- 二零二五年度按摩技師團(tuán)隊(duì)協(xié)作聘用合同3篇
- -油水井小修工藝技術(shù)課件
- 中國(guó)文化概論(第三版)全套課件
- (完整版)兒童醫(yī)學(xué)康復(fù)科疾病護(hù)理常規(guī)
- 2022閥門制造作業(yè)指導(dǎo)書
- 科技創(chuàng)新社團(tuán)活動(dòng)教案課程
- 建筑結(jié)構(gòu)加固工程施工質(zhì)量驗(yàn)收規(guī)范表格
- 部編版語文六年級(jí)上冊(cè)作文總復(fù)習(xí)課件
- 無水氯化鈣MSDS資料
- 專利產(chǎn)品“修理”與“再造”的區(qū)分
- 氨堿法純堿生產(chǎn)工藝概述
- 健康管理專業(yè)建設(shè)規(guī)劃
評(píng)論
0/150
提交評(píng)論