![數(shù)據(jù)庫原理總結(jié)詳解_第1頁](http://file4.renrendoc.com/view/05634e277cc94f58ad906cc413d76070/05634e277cc94f58ad906cc413d760701.gif)
![數(shù)據(jù)庫原理總結(jié)詳解_第2頁](http://file4.renrendoc.com/view/05634e277cc94f58ad906cc413d76070/05634e277cc94f58ad906cc413d760702.gif)
![數(shù)據(jù)庫原理總結(jié)詳解_第3頁](http://file4.renrendoc.com/view/05634e277cc94f58ad906cc413d76070/05634e277cc94f58ad906cc413d760703.gif)
![數(shù)據(jù)庫原理總結(jié)詳解_第4頁](http://file4.renrendoc.com/view/05634e277cc94f58ad906cc413d76070/05634e277cc94f58ad906cc413d760704.gif)
![數(shù)據(jù)庫原理總結(jié)詳解_第5頁](http://file4.renrendoc.com/view/05634e277cc94f58ad906cc413d76070/05634e277cc94f58ad906cc413d760705.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫原理總結(jié)ppt課件當(dāng)前1頁,總共111頁。課程考核方式課程性質(zhì):學(xué)位課,48學(xué)時(shí)考核方式和比重平時(shí)成績,20%作業(yè),出勤,網(wǎng)教測試題附加作業(yè),<=5分閉卷考試,80%當(dāng)前2頁,總共111頁。3考試題型填空題(每空1分,共計(jì)20分)判斷題(每題1分,共計(jì)10分)選擇題(每題1分,共計(jì)15分)簡答題(每題5分,共計(jì)15分)綜合題(共計(jì)20分)設(shè)計(jì)題(共計(jì)20分)當(dāng)前3頁,總共111頁。4內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前4頁,總共111頁。5第1章 數(shù)據(jù)庫系統(tǒng)引論1.數(shù)據(jù)管理技術(shù)的發(fā)展2.數(shù)據(jù)庫基本概念3.數(shù)據(jù)模型4.數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)5.數(shù)據(jù)庫管理系統(tǒng)當(dāng)前5頁,總共111頁。6第1章 數(shù)據(jù)庫系統(tǒng)引論1.數(shù)據(jù)管理技術(shù)的發(fā)展人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)獨(dú)立性高減少數(shù)據(jù)冗余數(shù)據(jù)共享統(tǒng)一的數(shù)據(jù)保護(hù)功能當(dāng)前6頁,總共111頁。7第1章數(shù)據(jù)庫系統(tǒng)引論2.什么是數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的數(shù)據(jù)集合,它根據(jù)數(shù)據(jù)間的聯(lián)系組織在一起,具有較高的數(shù)據(jù)獨(dú)立性,較少數(shù)據(jù)冗余,能夠?yàn)楦鞣N用戶共享它需要由一個(gè)軟件系統(tǒng)統(tǒng)一管理,這個(gè)軟件系統(tǒng)稱為數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)對數(shù)據(jù)提供存儲(chǔ)、管理和應(yīng)用的計(jì)算機(jī)系統(tǒng)稱為數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)當(dāng)前7頁,總共111頁。83.數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,用來描述數(shù)據(jù)的一組概念和定義。數(shù)據(jù)模型的三個(gè)要素:(1)數(shù)據(jù)結(jié)構(gòu)對數(shù)據(jù)靜態(tài)特性的描述應(yīng)用所涉及的對象和對象具有的特征,對象間的聯(lián)系(2)數(shù)據(jù)操作對數(shù)據(jù)的動(dòng)態(tài)特性的描述。主要分為更新和檢索兩大類具體包括檢索、插入、刪除、修改等(3)數(shù)據(jù)的完整性約束對數(shù)據(jù)靜態(tài)和動(dòng)態(tài)特性的限定,反映了數(shù)據(jù)間的制約和依存關(guān)系是區(qū)別數(shù)據(jù)模型最主要的部分當(dāng)前8頁,總共111頁。94數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的三級模式,外模式:是模式的子集,是用戶的數(shù)據(jù)視圖。模式(也稱邏輯模式):是全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,獨(dú)立于應(yīng)用程序和物理存儲(chǔ)內(nèi)模式:是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方法當(dāng)前9頁,總共111頁。104數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)三級模式結(jié)構(gòu)的二級映像目的:實(shí)現(xiàn)三個(gè)模式的聯(lián)系和轉(zhuǎn)換,外模式/模式映像一個(gè)模式對應(yīng)多個(gè)外模式,當(dāng)模式結(jié)構(gòu)改變,則只要修改外模式與模式間的映像關(guān)系,而不必修改外模式中的局部邏輯結(jié)構(gòu),因而相應(yīng)的應(yīng)用程序亦可不必修改,實(shí)現(xiàn)了數(shù)據(jù)的邏輯獨(dú)立性模式/內(nèi)模式映像一個(gè)模式對應(yīng)一個(gè)內(nèi)模式。當(dāng)數(shù)據(jù)庫的物理存儲(chǔ)結(jié)構(gòu)改變時(shí),僅需要修改模式與內(nèi)模式間的映像關(guān)系,而可以使模式保持不變,從而使應(yīng)用程序保持不變,提供了數(shù)據(jù)的物理獨(dú)立性
當(dāng)前10頁,總共111頁。5.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫的定義功能數(shù)據(jù)庫的操縱功能數(shù)據(jù)庫的保護(hù)功能數(shù)據(jù)庫維護(hù)功能11當(dāng)前11頁,總共111頁。12內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前12頁,總共111頁。13第2章數(shù)據(jù)模型1.E-R概念模型2.層次數(shù)據(jù)模型3.網(wǎng)狀數(shù)據(jù)模型4.關(guān)系數(shù)據(jù)模型當(dāng)前13頁,總共111頁。14第2章數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫研究的一個(gè)核心問題。概念模型,按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模。不涉及信息在計(jì)算機(jī)中如何表示;如實(shí)體-聯(lián)系模型邏輯模型按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P汀ο箨P(guān)系模型等物理模型它描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲(chǔ)方式和存取方法當(dāng)前14頁,總共111頁。151.E-R概念模型(1)實(shí)體:客觀存在并可相互區(qū)別的事物稱為實(shí)體。(2)屬性:實(shí)體所具有的某一特征稱為屬性。(3)聯(lián)系:在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的兩個(gè)實(shí)體集之間的三類聯(lián)系實(shí)體集1聯(lián)系名實(shí)體集2111:1聯(lián)系實(shí)體集1聯(lián)系名實(shí)體集2mnm:n聯(lián)系實(shí)體集1聯(lián)系名實(shí)體集21n1:n聯(lián)系當(dāng)前15頁,總共111頁。161.E-R概念模型概念模型的表示方法很多,最著名的是實(shí)體聯(lián)系模型,它由E-R圖來表示。E-R圖三個(gè)基本成分:實(shí)體、屬性和聯(lián)系(1)實(shí)體:用矩形表示,矩形框內(nèi)寫明實(shí)體名。(2)屬性:用橢圓形表示(3)聯(lián)系:實(shí)體之間的聯(lián)系用菱形框表示,n學(xué)時(shí)數(shù)課程課程號課程名m選課姓名性別年齡成績學(xué)生學(xué)號當(dāng)前16頁,總共111頁。172.層次模型層次數(shù)據(jù)模型(hierarchicaldatamodel)是較早用于數(shù)據(jù)庫技術(shù)的一種數(shù)據(jù)模型,它是按層次結(jié)構(gòu)來組織數(shù)據(jù)的。3.網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀模型的結(jié)點(diǎn)間的聯(lián)系可以是任意的,任何二個(gè)結(jié)點(diǎn)間都能發(fā)生聯(lián)系,更適于描述客觀世界。將層次模型中對結(jié)點(diǎn)的限制去掉后就成為網(wǎng)狀模型。當(dāng)前17頁,總共111頁。184.關(guān)系數(shù)據(jù)模型在關(guān)系模型中,基本數(shù)據(jù)結(jié)構(gòu)是二維表(1)關(guān)系(relation)關(guān)系是一張二維表,是由多個(gè)行和列組成的。一個(gè)關(guān)系可用來描述一個(gè)實(shí)體集(2)屬性(attribute)(3)域(domain)(4)元組(tuple)(5)鍵(key)鍵是一個(gè)或多個(gè)屬性組成的,能夠唯一標(biāo)識一個(gè)元組。一個(gè)關(guān)系中可能有多組屬性都能夠起到標(biāo)識元組的作用。因而,一個(gè)關(guān)系中可能有多個(gè)鍵.選擇其中的一個(gè)作為主鍵,其余為候選鍵當(dāng)前18頁,總共111頁。19內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前19頁,總共111頁。20第3章關(guān)系數(shù)據(jù)庫1.關(guān)系模型的基本概念2.關(guān)系代數(shù)3.關(guān)系演算域關(guān)系演算元組關(guān)系演算當(dāng)前20頁,總共111頁。21第3章關(guān)系數(shù)據(jù)庫1.關(guān)系模型的基本概念定義3.1給定一組集合D1,D2,…,Dn,它們可以是相同的。D1,D2,…,Dn的笛卡爾積為:
D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有值的一個(gè)組合,不能重復(fù)定義3.2D1×D2×…×Dn的任一個(gè)子集稱為D1,D2,…,Dn上的一個(gè)關(guān)系。n叫做關(guān)系的目或度(degree)當(dāng)前21頁,總共111頁。221.關(guān)系模型的基本概念無限關(guān)系在數(shù)據(jù)庫中是無意義的,因此限定關(guān)系代數(shù)數(shù)據(jù)模型中的關(guān)系必須是有限集合。關(guān)系數(shù)據(jù)庫中,關(guān)系都是規(guī)范化的,具有如下性質(zhì):(1)每一列中的值是同類型的數(shù)據(jù),來自同一個(gè)域(2)不同的列可以有相同的域,每一列稱為屬性,用屬性名標(biāo)識。(3)列的次序是無關(guān)緊要的。(4)元組的每個(gè)分量是原子的,是不可分的數(shù)據(jù)項(xiàng)(5)元組的次序是無關(guān)緊要的。(6)各個(gè)元組是不同的,即關(guān)系中不允許出現(xiàn)重復(fù)元組當(dāng)前22頁,總共111頁。231.關(guān)系模型的基本概念對關(guān)系結(jié)構(gòu)的描述稱為關(guān)系模式。用如下形式表示:關(guān)系名(屬性名1,屬性名2,…,屬性名n)關(guān)系模型的數(shù)據(jù)完整性約束實(shí)體完整性、參照完整性、用戶自定義完整性其中,實(shí)體完整性、參照完整性是必須支持的關(guān)系模型的數(shù)據(jù)操縱查詢、插入、刪除和修改操作在關(guān)系數(shù)據(jù)庫系統(tǒng)中,對數(shù)據(jù)的全部操作都可以歸結(jié)為對關(guān)系的運(yùn)算當(dāng)前23頁,總共111頁。242.關(guān)系代數(shù)關(guān)系代數(shù)運(yùn)算的分類:傳統(tǒng)的集合運(yùn)算并、差、交、笛卡爾積專門的關(guān)系運(yùn)算選擇、投影、連接、除不僅涉及行運(yùn)算,也涉及列運(yùn)算,這種運(yùn)算是為數(shù)據(jù)庫的應(yīng)用而引進(jìn)的特殊運(yùn)算。關(guān)系代數(shù)中五種基本運(yùn)算并、差、笛卡爾積、投影、選擇交、連接、除法可以用5種基本運(yùn)算來表達(dá)引進(jìn)它們并不增加語言的能力,但可以簡化表達(dá)當(dāng)前24頁,總共111頁。252.關(guān)系代數(shù)集合運(yùn)算是二個(gè)關(guān)系間的運(yùn)算,運(yùn)算結(jié)果生成一個(gè)新關(guān)系。其中,并(∪)、交(∩)、差()運(yùn)算要求參加運(yùn)算的二個(gè)關(guān)系R和S具有相同的目且其對應(yīng)屬性定義在同一個(gè)域上,稱R和S為同類型的關(guān)系R∪S
仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成
R∪S={t|t
R∨tS}R-S
仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成
R-S={t|tR∧tS}當(dāng)前25頁,總共111頁。262.關(guān)系代數(shù)R∩S仍為n目關(guān)系,由既屬于R又屬于S的元組組成
R∩S={t|t
R∧tS} R∩S=R–(R-S)R×S關(guān)系R和S的笛卡爾積為R中所有元組和S中所有元組的拼接。F(R)
選擇運(yùn)算是關(guān)系上的一元運(yùn)算,是從關(guān)系中選擇滿足一定條件的元組子集F(R)={tt∈Rt(F)}當(dāng)前26頁,總共111頁。272.關(guān)系代數(shù)x(R)從R中選擇出若干屬性列組成新的關(guān)系
條件連接是將二個(gè)關(guān)系中滿足連接條件的元組拼接起來形成新元組的集合,也叫θ連接自然連接是在兩個(gè)關(guān)系共同屬性上的等值連接它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉當(dāng)前27頁,總共111頁。28內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前28頁,總共111頁。29第4章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL結(jié)構(gòu)化查詢語言SQL(StructuredQueryLanguage)是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,充分體現(xiàn)了關(guān)系數(shù)據(jù)語言的特點(diǎn)和優(yōu)點(diǎn)當(dāng)前29頁,總共111頁。30第4章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL1.數(shù)據(jù)定義:create2.數(shù)據(jù)查詢:select3.數(shù)據(jù)更新:insertupdatedelete4.SQL中的視圖5.SQL的數(shù)據(jù)控制6.嵌入式SQL當(dāng)前30頁,總共111頁。31第4章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQLSQL的數(shù)據(jù)定義功能主要包括表、視圖、索引和數(shù)據(jù)庫模式的定義表的定義、刪除與修改CREATETABLE、ALTERTABLE、DROPTABLE當(dāng)前31頁,總共111頁。32第4章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL索引類型:依據(jù)索引的順序和數(shù)據(jù)庫的物理存儲(chǔ)順序是否相同,索引分為兩類:聚簇索引、非聚簇索引唯一索引、組合索引等數(shù)據(jù)查詢單表查詢、連接查詢(外連接)、嵌套查詢、集合查詢當(dāng)前32頁,總共111頁。332.數(shù)據(jù)查詢語句格式SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM
<表名或視圖名>[,<表名或視圖名>]…[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];SELECT子句:指定要顯示的屬性列FROM子句:指定查詢對象(基本表或視圖)WHERE子句:指定查詢條件
GROUPBY子句:對查詢結(jié)果按指定列的值分組,該屬性列值相等的元組為一個(gè)組。通常會(huì)在每組中作用集函數(shù)。HAVING短語:篩選出只有滿足指定條件的組ORDERBY子句:對查詢結(jié)果表按指定列值的升序或降序排序當(dāng)前33頁,總共111頁。34使用集函數(shù)主要集函數(shù)計(jì)數(shù)COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)計(jì)算總和SUM([DISTINCT|ALL]<列名>)計(jì)算平均值A(chǔ)VG([DISTINCT|ALL]<列名>)求最大值MAX([DISTINCT|ALL]<列名>)求最小值MIN([DISTINCT|ALL]<列名>) DISTINCT短語在計(jì)算時(shí)要取消指定列中的重復(fù)值A(chǔ)LL短語:不取消重復(fù)值;ALL為缺省值當(dāng)前34頁,總共111頁。35對查詢結(jié)果分組GROUPBY
細(xì)化集函數(shù)的作用對象沒有分組時(shí),集函數(shù)將作用于整個(gè)查詢結(jié)果有分組時(shí),集函數(shù)將作用于每個(gè)組分組方法按指定的一列或多列值分組,值相等的為一組使用GROUPBY子句后,SELECT子句的<目標(biāo)列表達(dá)式>中只能出現(xiàn)分組屬性和集函數(shù)使用HAVING短語篩選最終輸出結(jié)果只有滿足HAVING短語指定條件的組才輸出當(dāng)前35頁,總共111頁。36對查詢結(jié)果分組SELECTproductid,orderid,quantityFROMorderhistSELECTproductid, SUM(quantity)AStotal_quantityFROMorderhistGROUPBYproductidHAVINGSUM(quantity)>=30productidtotal_quantity235345productidorderidquantity11511102110222531153230當(dāng)前36頁,總共111頁。373.數(shù)據(jù)更新插入數(shù)據(jù)(1)插入單個(gè)元組語句格式INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]
VALUES(<常量1>[,<常量2>]…)(2)插入子查詢結(jié)果語句格式INSERTINTO<表名>[(<列1>[,<列2>,])]<SELECT語句>;當(dāng)前37頁,總共111頁。383.數(shù)據(jù)更新修改數(shù)據(jù)UPDATE<表名>
SET列名1=<表達(dá)式1>[,列名2=<表達(dá)式2>][WHERE<條件表達(dá)式>];刪除數(shù)據(jù)DELETEFROM<表名>[WHERE<條件>];當(dāng)前38頁,總共111頁。394.SQL中的視圖視圖是建立在一個(gè)或多個(gè)基本表上的虛表。視圖提供了用戶從不同角度觀察數(shù)據(jù)庫的方法。視圖的定義
CREATEVIEW<視圖名>[(<列名>[,<列名>]…)]
AS<SELECT語句>[WITHCHECKOPTION];WITHCHECKOPTION表示通過視圖進(jìn)行增刪改操作時(shí),不得破壞視圖定義中子查詢中的條件表達(dá)式視圖的刪除DROPVIEW<視圖名>;該語句從數(shù)據(jù)字典中刪除指定的視圖定義當(dāng)前39頁,總共111頁。404.SQL中的視圖更新視圖可以通過視圖插入、刪除和修改數(shù)據(jù),對視圖的更新最終要轉(zhuǎn)換成對基本表的更新DBMS實(shí)現(xiàn)視圖查詢的方法實(shí)體化視圖、視圖消解法視圖的更新操作有些可以執(zhí)行;有些不能執(zhí)行,即不能轉(zhuǎn)換為對基本表的對應(yīng)操作。視圖的優(yōu)點(diǎn)(1)視圖提供了邏輯數(shù)據(jù)獨(dú)立性(2)簡化了用戶視圖(3)視圖使用戶以不同角度看待相同的數(shù)。(4)視圖提供了安全保護(hù)功能當(dāng)前40頁,總共111頁。41第4章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL5.SQL的數(shù)據(jù)控制授權(quán)語句GRANT回收語句REVOKE具有授予權(quán)的用戶可以通過回收語句REVOKE將所授予的權(quán)限回收。
6.嵌入式SQLSQL語言提供了兩種使用方式:交互式SQL、嵌入式SQL嵌入式SQL引入了游標(biāo)機(jī)制協(xié)調(diào)面向集合和面向記錄兩種不同的處理方式
當(dāng)前41頁,總共111頁。42內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前42頁,總共111頁。43第5章查詢處理和查詢優(yōu)化1.查詢處理2.查詢優(yōu)化3.代數(shù)優(yōu)化4.基于存取路徑的優(yōu)化5.基于代價(jià)估算的優(yōu)化當(dāng)前43頁,總共111頁。44執(zhí)行查詢操作的基本算法查詢處理過程包括:查詢分析查詢檢查查詢優(yōu)化查詢執(zhí)行當(dāng)前44頁,總共111頁。45執(zhí)行查詢操作的基本算法(1)選擇操作的實(shí)現(xiàn) 順序掃描方法二分查找法使用索引(或散列)的掃描方法(2)連接操作的實(shí)現(xiàn)嵌套循環(huán)法索引嵌套循環(huán)法排序合并法散列連接法當(dāng)前45頁,總共111頁。462.查詢優(yōu)化查詢優(yōu)化的總目標(biāo)選擇有效策略使查詢代價(jià)最小(實(shí)際上是較小)(1)代數(shù)優(yōu)化是關(guān)系代數(shù)表達(dá)式的優(yōu)化,即按照一定的規(guī)則改變代數(shù)表達(dá)式中操作的次序和組合,使查詢執(zhí)行更高效。不涉及底層的存取路徑(2)基于存取路徑的優(yōu)化合理選擇各種操作的存取路徑以獲得優(yōu)化效果,需要考慮數(shù)據(jù)的物理組織和訪問路徑,以及底層操作算法的選擇,涉及數(shù)據(jù)文件的組織方法、數(shù)據(jù)值的分布情況等,也稱為物理優(yōu)化(3)基于代價(jià)估算的優(yōu)化對于多個(gè)可選的查詢策略通過估算執(zhí)行策略的代價(jià),從中選擇代價(jià)最小的作為執(zhí)行策略當(dāng)前46頁,總共111頁。472023/3/253.代數(shù)優(yōu)化代數(shù)優(yōu)化策略(1)在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作,這是最重要、最基本的一條(2)投影運(yùn)算和選擇運(yùn)算同時(shí)進(jìn)行(3)將投影運(yùn)算與其前面或后面的雙目運(yùn)算結(jié)合(4)把某些選擇同在它前面要執(zhí)行的笛卡爾積結(jié)合起來成為一個(gè)連接運(yùn)算(5)找出公共子表達(dá)式當(dāng)前47頁,總共111頁。483.代數(shù)優(yōu)化代數(shù)優(yōu)化算法遵循代數(shù)優(yōu)化的啟發(fā)式規(guī)則,應(yīng)用關(guān)系代數(shù)等價(jià)變換公式來優(yōu)化關(guān)系表達(dá)式的算法(1)把形如σF1∧F2∧…∧Fn(E)變換為σF1(σF2(…(σFn(E))…))(2)對每一個(gè)選擇,盡可能把它移到樹的葉端(3)對每一個(gè)投影,盡可能把它移向樹的葉端(4)利用等價(jià)變換規(guī)則把選擇和投影的串接合并,使多個(gè)選擇或投影能同時(shí)執(zhí)行,或在一次掃描中全部完成(5)把語法樹的內(nèi)節(jié)點(diǎn)分組。每一雙目運(yùn)算和它所有的直接祖先為一組。當(dāng)前48頁,總共111頁。49SELECTCnameFROMSt,Course,SCWHERESt.Sno=SC.SnoANDSC.Cno=Course.CnoANDSt.Sdept=’IS’ПSname(σStudent.Sno=SC.Sno∧Course.Cno=SC.Cno∧Student.Dept='計(jì)算機(jī)學(xué)院'∧Course.Cname='DataBase'((Student×SC)×Course))
當(dāng)前49頁,總共111頁。50當(dāng)前50頁,總共111頁。51內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前51頁,總共111頁。52第6章數(shù)據(jù)庫的安全性數(shù)據(jù)庫中所采用的安全性方法和技術(shù)1.用戶標(biāo)識與鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份。用戶進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對,通過鑒定后才提供系統(tǒng)的使用權(quán)最外層的安全保護(hù)措施2.存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫,所有未被授權(quán)的人員無法存取數(shù)據(jù)。當(dāng)前52頁,總共111頁。53第6章數(shù)據(jù)庫的安全性3.視圖機(jī)制:為不同的用戶定義視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)對無權(quán)存取的用戶隱藏起來,從而自動(dòng)地對數(shù)據(jù)提供一定程度的安全保護(hù)4.數(shù)據(jù)加密:對存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容5.數(shù)據(jù)庫審計(jì):數(shù)據(jù)庫審計(jì)可以作為預(yù)防手段,建立審計(jì)日志,把用戶對數(shù)據(jù)庫的所有操作自動(dòng)記錄下來放入審計(jì)日志中,DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等當(dāng)前53頁,總共111頁。542.存取控制(1)自主存取控制DAC主體是指一個(gè)提出請求或要求的實(shí)體,主體可以是DBMS所管理的實(shí)際用戶,或其它任何代表用戶行為的進(jìn)程、作業(yè)和程序??腕w是接受其他實(shí)體訪問的被動(dòng)實(shí)體,是受主體操縱,客體可以是文件、記錄、視圖等??刂撇呗允侵黧w對客體的操作行為集和約束條件集,即主體對客體的訪問規(guī)則集。通過SQL的GRANT語句和REVOKE語句實(shí)現(xiàn)當(dāng)前54頁,總共111頁。552.存取控制(2)強(qiáng)制存取控制MAC每一個(gè)數(shù)據(jù)對象被標(biāo)以一定的密級,每一個(gè)用戶也被授予某一個(gè)級別的許可證。對于任意一個(gè)對象,具有合法許可證的用戶才可以存取強(qiáng)制存取控制規(guī)則:1)僅當(dāng)主體的許可證級別大于或等于客體的密級時(shí),該主體才能讀取相應(yīng)的客體;2)僅當(dāng)主體的許可證級別等于客體的密級時(shí),該主體才能寫相應(yīng)的客體。規(guī)則修正:主體的許可證級別<=客體的密級主體能寫客體當(dāng)前55頁,總共111頁。56內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前56頁,總共111頁。57第7章數(shù)據(jù)庫的完整性數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性為維護(hù)數(shù)據(jù)庫的完整性,DBMS必須提供哪些功能?提供定義完整性約束條件的機(jī)制提供完整性檢查的方法違約處理即如果發(fā)現(xiàn)用戶的操作請求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來保證數(shù)據(jù)的完整性完整性約束條件的作用對象可以是:關(guān)系、元組和屬性(列)當(dāng)前57頁,總共111頁。581.實(shí)體完整性約束實(shí)體完整性是指主鍵的值不能為空或部分為空如果一個(gè)元組的鍵為空值,或部分為空,該元組將不能表示任何實(shí)體,因而無意義通過對主鍵值的約束實(shí)現(xiàn)實(shí)體完整性CREATETABLEStudent(SnoCHAR(8)PRIMARYKEY,
SnameCHAR(20)NOTNULL,
SsexCHAR(2),
SageSMALLINT,
SdeptCHAR(20))CREATETABLESC(SnoCHAR(8),
CnoCHAR(4),
GradeSMALLINT,
PRIMARYKEY(Sno,Cno))當(dāng)前58頁,總共111頁。592.參照完整性約束參照完整性約束是對關(guān)系中作為外鍵的值的約束若關(guān)系R1中屬性A定義為外鍵,參照關(guān)系R2中的主鍵,則對于關(guān)系R1中的任一個(gè)元組在屬性A上的值或者為空值,或者為另一個(gè)關(guān)系R2中某個(gè)元組的主鍵的值用FOREIGNKEY短語定義哪些列為外鍵,用REFERENCES短語指明外鍵參照哪些表的主鍵CREATETABLESC(SnoCHAR(8),
CnoCHAR(4),
GradeSMALLINT,
PRIMARYKEY(Sno,Cno),
FOREIGNKEY(Sno)REFERENCESStudent(Sno),
FOREIGNKEY(Cno)REFERENCESCourse(Cno))當(dāng)前59頁,總共111頁。60可能破壞參照完整性的情況及違約處理參照完整性違約處理拒絕執(zhí)行(NOACTION)級聯(lián)操作(CASCADE)設(shè)置為空值(SET-NULL)當(dāng)前60頁,總共111頁。613.用戶定義的完整性用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束,用戶定義后由系統(tǒng)支持在關(guān)系數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)完整性控制策略包括規(guī)則、默認(rèn)值、約束、觸發(fā)器和存儲(chǔ)過程等。通常屬性上的約束條件包括唯一約束(UNIQUE)非空約束(NOTNULL)默認(rèn)值約束(DEFAULT)檢查約束(CHECK)當(dāng)前61頁,總共111頁。第7章數(shù)據(jù)庫的完整性表的設(shè)計(jì)要體現(xiàn)完整性約束的實(shí)現(xiàn)實(shí)體完整性的體現(xiàn)是主鍵約束;外鍵約束是參照完整性的體現(xiàn);默認(rèn)值和唯一等是用戶定義完整性的體現(xiàn)當(dāng)前62頁,總共111頁。634.觸發(fā)器觸發(fā)器是用戶定義在關(guān)系數(shù)據(jù)表上的一類由事件驅(qū)動(dòng)的特殊過程,用編程的方法實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則觸發(fā)器工作過程Inserted表存放insert或update語句執(zhí)行過程中,插入到觸發(fā)表中的新數(shù)據(jù)行的副本.因此inserted表中的行是和觸發(fā)表中的新數(shù)據(jù)行相同.Deleted表存放delete或update語句執(zhí)行過程中,從觸發(fā)表中刪除的舊數(shù)據(jù)行的副本。因此,deleted表和觸發(fā)表不會(huì)有相同的行.當(dāng)前63頁,總共111頁。64內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前64頁,總共111頁。65第8章數(shù)據(jù)庫恢復(fù)技術(shù)1.事務(wù)的基本概念2.故障種類3.數(shù)據(jù)庫恢復(fù)技術(shù)4.檢查點(diǎn)恢復(fù)技術(shù)5.數(shù)據(jù)庫恢復(fù)策略當(dāng)前65頁,總共111頁。661.事務(wù)的基本概念事務(wù)(Transaction)是用戶定義的一個(gè)數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位原子性:事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做一致性:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)隔離性:對并發(fā)執(zhí)行而言,一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾持續(xù)性(也稱永久性):一個(gè)事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響當(dāng)前66頁,總共111頁。672.故障種類數(shù)據(jù)庫系統(tǒng)可能發(fā)生的故障大致分為以下幾類:系統(tǒng)故障整個(gè)系統(tǒng)的正常運(yùn)行突然被破壞、所有正在運(yùn)行的事務(wù)都非正常終止、內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部丟失、外部存儲(chǔ)設(shè)備上的數(shù)據(jù)未受影響事務(wù)內(nèi)部的故障某個(gè)事務(wù)在運(yùn)行過程中由于種種原因未運(yùn)行至正常終止點(diǎn)就夭折了介質(zhì)故障其它原因當(dāng)前67頁,總共111頁。683.數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)恢復(fù)的基本原理數(shù)據(jù)冗余:利用存儲(chǔ)在系統(tǒng)其它地方的冗余數(shù)據(jù)重建數(shù)據(jù)庫中已被破壞或不正確的那部分?jǐn)?shù)據(jù)建立冗余數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲(chǔ)和登記日志文件通常在一個(gè)數(shù)據(jù)庫系統(tǒng)中,兩種方法一起使用恢復(fù)子系統(tǒng)的功能是利用冗余數(shù)據(jù),再根據(jù)故障的類型采取相應(yīng)的恢復(fù)措施,保證故障發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯(cuò)誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài)當(dāng)前68頁,總共111頁。693.數(shù)據(jù)庫恢復(fù)技術(shù)恢復(fù)中經(jīng)常使用的技術(shù)數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ)和動(dòng)態(tài)轉(zhuǎn)儲(chǔ)海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ)基于日志的恢復(fù)技術(shù)寫日志文件的兩條原則:登記的次序嚴(yán)格按并行事務(wù)執(zhí)行的時(shí)間次序;必須先寫日志文件,后寫數(shù)據(jù)庫Redo技術(shù):重作已提交的事務(wù)Undo技術(shù):對沒有提交的事務(wù)執(zhí)行Undo,將被修改的數(shù)據(jù)項(xiàng)恢復(fù)到事務(wù)開始前的狀態(tài)當(dāng)前69頁,總共111頁。703.數(shù)據(jù)庫恢復(fù)技術(shù)提高恢復(fù)效率的技術(shù)檢查點(diǎn)技術(shù)鏡像技術(shù)當(dāng)前70頁,總共111頁。714.數(shù)據(jù)庫恢復(fù)策略事務(wù)故障的恢復(fù)利用日志文件撤銷事務(wù)對數(shù)據(jù)的更改,系統(tǒng)回滾到事務(wù)執(zhí)行前的狀態(tài)。當(dāng)事務(wù)故障發(fā)生時(shí),系統(tǒng)反向掃描日志文件,并執(zhí)行逆向操作,將更新前的數(shù)據(jù)寫入數(shù)據(jù)庫介質(zhì)故障的恢復(fù)首先根據(jù)后備副本重建數(shù)據(jù)庫,然后利用運(yùn)行日志重做該副本備份后已完成的所有事務(wù)當(dāng)前71頁,總共111頁。72系統(tǒng)故障的恢復(fù)步驟(1)正向掃描日志文件(即從頭掃描日志文件)Redo隊(duì)列:在故障發(fā)生前已經(jīng)提交的事務(wù)Undo隊(duì)列:故障發(fā)生時(shí)尚未完成的事務(wù)(2)對Undo隊(duì)列事務(wù)進(jìn)行UNDO處理反向掃描日志文件,對每個(gè)UNDO事務(wù)的更新操作執(zhí)行逆操作(3)對Redo隊(duì)列事務(wù)進(jìn)行REDO處理正向掃描日志文件,對每個(gè)REDO事務(wù)重新執(zhí)行登記的操作當(dāng)前72頁,總共111頁。73檢查點(diǎn)的恢復(fù)技術(shù)檢查點(diǎn)技術(shù)可以提高系統(tǒng)故障恢復(fù)的效率,數(shù)據(jù)庫恢復(fù)時(shí),利用檢查點(diǎn)能判定哪些事務(wù)是正常結(jié)束的,從而確定恢復(fù)哪些數(shù)據(jù)以及如何進(jìn)行恢復(fù)檢查點(diǎn)記錄的內(nèi)容1.建立檢查點(diǎn)時(shí)刻所有正在執(zhí)行的事務(wù)清單2.這些事務(wù)最近一個(gè)日志記錄的地址寫檢查點(diǎn)的步驟:把日志緩沖區(qū)中的內(nèi)容寫入日志文件;在日志文件中寫入一個(gè)檢查點(diǎn)記錄;把數(shù)據(jù)庫緩沖區(qū)的內(nèi)容寫入數(shù)據(jù)庫;把檢查點(diǎn)記錄在日志文件中的地址寫入重啟動(dòng)文件當(dāng)前73頁,總共111頁。74檢查點(diǎn)的恢復(fù)技術(shù)利用檢查點(diǎn)的恢復(fù)步驟(1)從重啟動(dòng)文件中找到最后一個(gè)檢查點(diǎn)記錄;(2)得到檢查點(diǎn)時(shí)刻的事務(wù)清單,暫時(shí)放入U(xiǎn)ndo隊(duì)列(3)從檢查點(diǎn)開始正向掃描日志文件,如有新開始的事務(wù),暫時(shí)放入U(xiǎn)ndo隊(duì)列;如有提交事務(wù)Tj,把Tj從Undo隊(duì)列移到REDO隊(duì)列(4)對Undo隊(duì)列事務(wù)進(jìn)行UNDO處理;對Redo隊(duì)列事務(wù)進(jìn)行REDO處理。當(dāng)前74頁,總共111頁。75內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前75頁,總共111頁。76第9章并發(fā)控制并發(fā)操作帶來的數(shù)據(jù)不一致性丟失修改(lostupdate)事務(wù)T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了(覆蓋了)T1提交的結(jié)果,導(dǎo)致T1的修改被丟失。不可重復(fù)讀(non-repeatableread)事務(wù)T1讀取數(shù)據(jù)后,事務(wù)T2執(zhí)行更新操作,使T1無法再現(xiàn)前一次讀取結(jié)果。讀“臟”數(shù)據(jù)(dirtyread)事務(wù)T1修改某一數(shù)據(jù)并將其寫回磁盤,事務(wù)T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時(shí)T1已修改過的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。避免不一致性的方法和技術(shù)就是并發(fā)控制。最常用的技術(shù)是封鎖技術(shù)。當(dāng)前76頁,總共111頁。771.并發(fā)調(diào)度的可串行性定義9.1多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)并發(fā)執(zhí)行的結(jié)果與這些事務(wù)按某一串行順序執(zhí)行的結(jié)果相同,這種調(diào)度策略被稱為可串行化調(diào)度??纱谢遣l(fā)事務(wù)正確調(diào)度的準(zhǔn)則。定義9.2如果一個(gè)調(diào)度S能通過一系列非沖突操作執(zhí)行順序的交換變成調(diào)度S1,則稱調(diào)度S和S1
沖突等價(jià)沖突操作是指不同的事務(wù)對同一個(gè)數(shù)據(jù)的讀寫操作和寫寫操作,其他操作是不沖突操作不同事務(wù)的沖突操作和同一事務(wù)的兩個(gè)操作不能交換當(dāng)前77頁,總共111頁。78調(diào)度的沖突等價(jià)性可串行化調(diào)度的充分條件:一個(gè)調(diào)度S在保證沖突操作的次序不變的情況下,通過交換兩個(gè)事務(wù)不沖突操作的次序得到另一個(gè)串行調(diào)度S’,
則調(diào)度S為可串行化的調(diào)度當(dāng)前78頁,總共111頁。792023/3/259.2.2調(diào)度的沖突等價(jià)性【例9-3】證明調(diào)度S是否是可串行化調(diào)度。
S=R1(A)W1(A)R2(A)W2(A)R1(B)W1(B)R2(B)W2(B)把W2(A)與R1(B)W1(B)交換,得到:
R1(A)W1(A)R2(A)R1(B)W1(B)W2(A)R2(B)W2(B)當(dāng)前79頁,總共111頁。802023/3/259.2.2調(diào)度的沖突等價(jià)性【例9-3】證明調(diào)度S是否是可串行化調(diào)度。
S=R1(A)W1(A)R2(A)W2(A)R1(B)W1(B)R2(B)W2(B)把W2(A)與R1(B)W1(B)交換,得到:
R1(A)W1(A)R2(A)R1(B)W1(B)W2(A)R2(B)W2(B)再把r2(A)與r1(B)w1(B)交換:
L=R1(A)W1(A)R1(B)W1(B)R2(A)W2(A)R2(B)W2(B)因?yàn)長等價(jià)于一個(gè)串行調(diào)度T1,T2所以調(diào)度S是可串行化的調(diào)度當(dāng)前80頁,總共111頁。812.基于封鎖的并發(fā)控制技術(shù)封鎖的類型共享鎖(Sharelock,簡記S鎖,又稱為讀鎖)若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則其它事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖排它鎖(eXclusivelock,簡記X鎖,又稱為寫鎖)若事務(wù)T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其它任何事務(wù)都不能再對A加任何類型的鎖,直到T釋放A上的鎖當(dāng)前81頁,總共111頁。822.基于封鎖的并發(fā)控制技術(shù)封鎖協(xié)議在給數(shù)據(jù)對象加鎖時(shí),要考慮何時(shí)請求鎖、持有鎖的時(shí)間和何時(shí)釋放等,要遵從一定規(guī)則。這些規(guī)則被稱為封鎖協(xié)議一級封鎖協(xié)議事務(wù)T在修改數(shù)據(jù)A前必須先對其加X鎖,直到事務(wù)結(jié)束才釋放可以避免丟失修改不能保證可重復(fù)讀和不讀“臟”數(shù)據(jù)當(dāng)前82頁,總共111頁。832.基于封鎖的并發(fā)控制技術(shù)二級封鎖協(xié)議規(guī)定:在一級封鎖協(xié)議基礎(chǔ)上,事務(wù)T在讀數(shù)據(jù)A之前必須先對其加S鎖,讀完后即可釋放S鎖可以避免:丟失修改、讀“臟”數(shù)據(jù)。不能保證避免不可重復(fù)讀的問題三級封鎖協(xié)議在二級封鎖協(xié)議基礎(chǔ)上,某一事務(wù)施加的S鎖要保持到該事務(wù)結(jié)束時(shí)才釋放。三級封鎖協(xié)議可防止丟失修改、讀臟數(shù)據(jù)和不可重復(fù)讀當(dāng)前83頁,總共111頁。842.基于封鎖的并發(fā)控制技術(shù)三級協(xié)議的主要區(qū)別什么操作需要申請封鎖何時(shí)釋放鎖(即持鎖時(shí)間)當(dāng)前84頁,總共111頁。852.基于封鎖的并發(fā)控制技術(shù)封鎖技術(shù)可以有效地解決并行操作的一致性問題,但也帶來一些新的問題:活鎖:指某個(gè)事務(wù)由于請求封鎖,但總也得不到鎖而長時(shí)間處于等待狀態(tài)避免方法:采用先來先服務(wù)的策略當(dāng)多個(gè)事務(wù)請求封鎖同一數(shù)據(jù)對象時(shí),按請求封鎖的先后次序?qū)@些事務(wù)排隊(duì)該數(shù)據(jù)對象上的鎖一旦釋放,首先批準(zhǔn)申請隊(duì)列中第一個(gè)事務(wù)獲得鎖。當(dāng)前85頁,總共111頁。862.基于封鎖的并發(fā)控制技術(shù)封鎖技術(shù)可以有效地解決并行操作的一致性問題,但也帶來一些新的問題(續(xù))死鎖:指在同時(shí)處于等待狀態(tài)的兩上或多個(gè)事務(wù)中相互封鎖了對方請求的資源,使得沒有任何一個(gè)事物可以獲得足夠的資源運(yùn)行完畢,而永遠(yuǎn)等待下去預(yù)防死鎖方法:一次封鎖法允許死鎖發(fā)生,一旦檢測到死鎖,解除死鎖的方法:選擇一個(gè)處理死鎖代價(jià)最小的事務(wù),將其撤消,釋放此事務(wù)持有的所有的鎖,使其它事務(wù)能繼續(xù)運(yùn)行下去當(dāng)前86頁,總共111頁。87兩階段封鎖協(xié)議兩階段封鎖協(xié)議(Two-PhaseLocking,簡稱2PL)是最常用的一種封鎖協(xié)議,理論上證明使用兩段封鎖協(xié)議產(chǎn)生的是可串行化調(diào)度是指所有事務(wù)必須分兩個(gè)階段對數(shù)據(jù)項(xiàng)加鎖和解鎖第一階段是獲得封鎖,也稱為擴(kuò)展階段。在這階段,事務(wù)可以申請獲得任何數(shù)據(jù)項(xiàng)上的任何類型的鎖,但是不能釋放任何鎖第二階段是釋放封鎖,也稱為收縮階段。在這階段,事務(wù)可以釋放任何數(shù)據(jù)項(xiàng)上的任何類型的鎖,但是不能再申請任何鎖。兩階段封鎖協(xié)議可以保證并發(fā)事務(wù)執(zhí)行的可串行化,當(dāng)前87頁,總共111頁。883.多粒度封鎖多粒度封鎖:在一個(gè)系統(tǒng)中同時(shí)支持多種封鎖粒度供不同的事務(wù)選擇引進(jìn)意向鎖(intentionlock)目的提高對某個(gè)數(shù)據(jù)對象加鎖時(shí)系統(tǒng)的檢查效率什么是意向鎖對任一結(jié)點(diǎn)加基本鎖,必須先對它的上層結(jié)點(diǎn)加意向鎖當(dāng)前88頁,總共111頁。89常用意向鎖意向共享鎖(IS鎖)如果對一個(gè)數(shù)據(jù)對象加IS鎖,表示它的后裔結(jié)點(diǎn)擬(意向)加S鎖。例:要對某個(gè)元組加S鎖,則要先對關(guān)系和數(shù)據(jù)庫加IS鎖意向排它鎖(IX鎖)如果對一個(gè)數(shù)據(jù)對象加IX鎖,表示它的后裔結(jié)點(diǎn)擬(意向)加X鎖。例:要對某個(gè)元組加X鎖,先要對關(guān)系和數(shù)據(jù)庫加IX鎖共享意向排它鎖(SIX鎖)如果對一個(gè)數(shù)據(jù)對象加SIX鎖,表示對它加S鎖,再加IX鎖,即SIX=S+IX。例:對某個(gè)表加SIX鎖,則表示該事務(wù)要讀整個(gè)表(所以要對該表加S鎖),同時(shí)會(huì)更新個(gè)別元組(所以要對該表加IX鎖)當(dāng)前89頁,總共111頁。90內(nèi)容第1章 數(shù)據(jù)庫系統(tǒng)引論第2章 數(shù)據(jù)模型第3章 關(guān)系數(shù)據(jù)庫第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第5章 查詢處理和查詢優(yōu)化第6章 數(shù)據(jù)庫的安全性第7章 數(shù)據(jù)庫的完整性第8章 數(shù)據(jù)庫恢復(fù)技術(shù)第9章 并發(fā)控制第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第11章數(shù)據(jù)庫設(shè)計(jì)第12章數(shù)據(jù)庫編程當(dāng)前90頁,總共111頁。91第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論關(guān)系模型的存儲(chǔ)異常數(shù)據(jù)冗余大量的數(shù)據(jù)冗余不僅造成存儲(chǔ)空間的浪費(fèi),而且存在著潛在的數(shù)據(jù)不一致。插入異常刪除異常更新異常當(dāng)前91頁,總共111頁。92第10章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論1.函數(shù)依賴的定義定義10.1設(shè)關(guān)系模式R(U),X,YU,r是R(U)上的任一關(guān)系。對任意元組t1
、t2r,如果t1、t2在X上的屬性值相等,t1、t2在Y上的屬性值亦相等,則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為FDX→Y稱X為決定因素,或稱X為函數(shù)依賴的左部,稱Y為函數(shù)依賴的右部。平凡函數(shù)依賴與非平凡函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴傳遞函數(shù)依賴當(dāng)前92頁,總共111頁。93函數(shù)依賴的蘊(yùn)涵性若關(guān)系模式R上的任一關(guān)系都能滿足一個(gè)確定的函數(shù)依賴集F,則稱F為R滿足的函數(shù)依賴集
定義10.5設(shè)函數(shù)依賴集F和關(guān)系模式R(U),屬性集X,YU。如果關(guān)系模式R滿足F,R必定滿足FDX→Y,則稱F邏輯蘊(yùn)涵FDX→Y,或稱X→Y邏輯蘊(yùn)涵于F。記為F|=X→Y。定義10.6設(shè)函數(shù)依賴集F,所有被F邏輯蘊(yùn)涵的函數(shù)依賴稱為F的閉包,記為F+。F+={X→Y|所有F蘊(yùn)涵的FDX→Y}定義10.8設(shè)關(guān)系模式R(U,F),U={A1,A2,…,An},XU。所有用公理推出的函數(shù)依賴X→Ai中Ai的屬性集合稱屬性集X對于F的屬性閉包,記為XF+。當(dāng)前93頁,總共111頁。942.函數(shù)依賴公理Armstrong公理系統(tǒng)就是一個(gè)有效而完備的公理系統(tǒng),是模式分解算法的理論基礎(chǔ)從一組函數(shù)依賴求得蘊(yùn)含的函數(shù)依賴求給定關(guān)系模式的關(guān)鍵字當(dāng)前94頁,總共111頁。952.函數(shù)依賴公理Armstrong公理設(shè)關(guān)系模式R(U,F(xiàn)),并且X、Y、Z和W是U的子集A1自反律(Reflexivity)若YXU,則F|=X→Y;A2增廣律(Augmentation)若X→Y且ZU,則F|=XZ→YZ;A3傳遞律(Transitivity)若X→Y,Y→Z,則F|=X→Z.三條很有用的推論:
合成規(guī)則由X→Y,X→Z,則X→YZ分解規(guī)則由X→Y及ZY,則X→Z
偽傳遞規(guī)則由X→Y,YZ→W,則XZ→W當(dāng)前95頁,總共111頁。96求閉包的算法只要F中的函數(shù)依賴的左部屬性包含在中間結(jié)果X(i)中,就可以將沒有出現(xiàn)在X(i)中的右部屬性A并入X(i)中。X→A顯然成立算法10.1計(jì)算屬性集X關(guān)于F的閉包X+輸入:模式R的屬性全集U,U上的函數(shù)依賴集F及屬性集X輸出:屬性集X的閉包X+方法:計(jì)算X(i)(i=0,1,
)(1)初值X(0)=X,i=0;(2)X(i+1)=X(i)∪Z;其中,屬性集Z={A|存在V→WF,VX(i)且AW而AX(i)}(3)判斷X(i+1)=X(i)或X(i+1)=U是否成立,若成立轉(zhuǎn)(5)(4)i=i+1,轉(zhuǎn)(2);輸出X+的結(jié)果X(i+1)當(dāng)前96頁,總共111頁。97求閉包的算法只要F中的函數(shù)依賴的左部屬性包含在中間結(jié)果X(i)中,就可以將沒有出現(xiàn)在X(i)中的右部屬性A并入X(i)中。X→A顯然成立【例10-1】設(shè)關(guān)系模式R(U,F),U={A,B,C,D,E,G},F={AB→C,BC→D,ACD→B,D→EG,BE→C,CE→AG}。求:(BD)+解:令X={BD}(1)初值(X)(0)={BD}(2)在F中尋找左部是BD子集的函數(shù)依賴,D→EG滿足條件。結(jié)果為:(X)(1)={BDEG}。X(0)
X(1)。在F中繼續(xù)尋找左部是BDEG子集的函數(shù)依賴,得BE→C,C不包含在BDEG中,結(jié)果為(X)(2)={BCDEG}在F中繼續(xù)尋找左部是BCDEG子集的函數(shù)依賴,得:BC→D,CE→AG。這里僅有右部屬性A是未出現(xiàn)在(X)(2)
中的屬性,結(jié)果為(X)(3)={ABCDEG}。X(3)
X(2),雖然F中還有未考察過的函數(shù)依賴,但X(3)
已包含了R中的所有屬性,結(jié)束。輸出結(jié)果:(BD)+={ABCDEG}當(dāng)前97頁,總共111頁。984.關(guān)系模式的規(guī)范化定義10.15如果關(guān)系模式R的每一個(gè)屬性對應(yīng)的域值都是不可再分的,則R1NF。定義10.17如果一個(gè)關(guān)系模式R1NF,且所有非主屬性都完全依賴于R的每個(gè)候選鍵,則R2NF。定義10.18設(shè)R1NF,若在R中沒有非主屬性傳遞依賴于R的候選鍵,則關(guān)系模式R3NF。當(dāng)前98頁,總共111頁。994.關(guān)系模式的規(guī)范化定義10.19若R1NF,而且R中沒有任何屬性傳遞依賴于R中的任一關(guān)鍵字,則RBCNF。定義10.20設(shè)關(guān)系模式R1NF,F(xiàn)是R上的函數(shù)依賴集,對于F中的每一個(gè)函數(shù)依賴X→Y,必有X是R的一個(gè)候選鍵,則RBCNF如果RBCNF,則R上的每一個(gè)函數(shù)依賴中,每個(gè)決定因素都包含侯選鍵多值依賴定義當(dāng)前99頁,總共111頁。1004.關(guān)系模式的規(guī)范化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45154-2024老齡化社會(huì)年齡包容性勞動(dòng)力通用要求與指南
- GB/T 18487.5-2024電動(dòng)汽車傳導(dǎo)充電系統(tǒng)第5部分:用于GB/T 20234.3的直流充電系統(tǒng)
- racemic-9-Nor-9β-hydroxy-Hexahydrocannabinol-生命科學(xué)試劑-MCE-7978
- Glyceryl-dilaurate-生命科學(xué)試劑-MCE-3370
- 二零二五年度美發(fā)店租賃合同包含美發(fā)店品牌形象維護(hù)條款
- 2025年度智能化舞臺(tái)搭建安全責(zé)任及技術(shù)服務(wù)合同
- 2025年度銀行貸款反擔(dān)保合同違約責(zé)任合同
- 2025年度父母出資購房子女房產(chǎn)增值收益分配協(xié)議書
- 施工日志填寫樣本屋面防水工程
- 職場技能提升與自主創(chuàng)業(yè)的實(shí)踐案例分析
- 急性缺血性卒中再灌注治療指南2024解讀
- 暑假假期安全教育(課件)-小學(xué)生主題班會(huì)
- 2025年中考英語總復(fù)習(xí):閱讀理解練習(xí)題30篇(含答案解析)
- 陜西省英語中考試卷與參考答案(2024年)
- 中建醫(yī)院幕墻工程專項(xiàng)方案
- 基于OBE理念的世界現(xiàn)代史教學(xué)與學(xué)生歷史思維培養(yǎng)探究
- 施工現(xiàn)場揚(yáng)塵污染治理巡查記錄
- 2024年列車員技能競賽理論考試題庫500題(含答案)
- 中南大學(xué)《藥理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《無人機(jī)測繪技術(shù)》項(xiàng)目3任務(wù)2無人機(jī)正射影像數(shù)據(jù)處理
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》專業(yè)解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024B0)-121-240
評論
0/150
提交評論