版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章數(shù)據(jù)庫(kù)系統(tǒng)世界主講人:駱炎民Email:lym@1第1章數(shù)據(jù)庫(kù)系統(tǒng)世界主講人:駱炎民1基本概念數(shù)據(jù)(Data)能輸入計(jì)算機(jī)并被計(jì)算機(jī)程序識(shí)別處理的信息集合數(shù)據(jù)處理對(duì)各種數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、加工和傳播的一系列活動(dòng)的總和。數(shù)據(jù)管理對(duì)數(shù)據(jù)進(jìn)行分類(lèi)、組織、編碼、存儲(chǔ)。檢索和維護(hù)它是數(shù)據(jù)處理的中心問(wèn)題2基本概念數(shù)據(jù)(Data)2基本概念(續(xù))數(shù)據(jù)庫(kù)(Database)本質(zhì)上是信息的集合一般而言,數(shù)據(jù)庫(kù)是指在數(shù)據(jù)庫(kù)管理系統(tǒng)管理和控制之下,存放在存儲(chǔ)介質(zhì)上的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem-DBMS)數(shù)據(jù)庫(kù)系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理控制的軟件系統(tǒng)3基本概念(續(xù))數(shù)據(jù)庫(kù)(Database)3DBMS的功能(1)數(shù)據(jù)庫(kù)定義功能提供數(shù)據(jù)定義語(yǔ)言(DDL);定義數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象(2)數(shù)據(jù)庫(kù)操縱功能提供數(shù)據(jù)操縱語(yǔ)言(DML);操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作(查詢(xún)、插入、刪除和修改)。(3)數(shù)據(jù)庫(kù)的運(yùn)行管理
保證數(shù)據(jù)的安全性、完整性;多用戶(hù)對(duì)數(shù)據(jù)的并發(fā)使用;發(fā)生故障后的系統(tǒng)恢復(fù)4DBMS的功能(1)數(shù)據(jù)庫(kù)定義功能4DBMS的功能(續(xù))(4)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序)數(shù)據(jù)庫(kù)數(shù)據(jù)批量裝載數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)介質(zhì)故障恢復(fù)數(shù)據(jù)庫(kù)的重組織性能監(jiān)視等5DBMS的功能(續(xù))(4)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序數(shù)據(jù)管理技術(shù)的發(fā)展歷程在應(yīng)用需求的推動(dòng)下,在計(jì)算機(jī)硬件、軟件發(fā)展的基礎(chǔ)上,數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)階段:(1)人工管理階段(2)文件系統(tǒng)階段(3)數(shù)據(jù)庫(kù)系統(tǒng)階段6數(shù)據(jù)管理技術(shù)的發(fā)展歷程在應(yīng)用需求的推動(dòng)下,在計(jì)算機(jī)硬件、軟件(1)人工管理階段時(shí)間:20世紀(jì)50年代中期以前應(yīng)用背景:科學(xué)計(jì)算硬件背景:無(wú)直接存取存儲(chǔ)設(shè)備軟件背景:無(wú)操作系統(tǒng)處理方式:批處理7(1)人工管理階段時(shí)間:20世紀(jì)50年代中期以前7人工管理特點(diǎn)(1)數(shù)據(jù)的管理者:用戶(hù)(程序員)(2)數(shù)據(jù)面向的對(duì)象:某個(gè)應(yīng)用程序(3)數(shù)據(jù)共享程度:數(shù)據(jù)不共享,冗余度極大(4)數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴(lài)于程序(5)數(shù)據(jù)的結(jié)構(gòu)化:無(wú)結(jié)構(gòu)(6)數(shù)據(jù)控制能力:應(yīng)用程序控制,數(shù)據(jù)不保存數(shù)據(jù)是面向應(yīng)用的,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序。當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),由于必須各自定義,無(wú)法互相利用、互相參照,因此程序與程序之間有大量的冗余數(shù)據(jù)。
數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后,必須對(duì)應(yīng)用程序做相應(yīng)的修改,這就進(jìn)一步加重了程序員的負(fù)擔(dān)。應(yīng)用程序中不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且要設(shè)計(jì)物理結(jié)構(gòu),包括存儲(chǔ)結(jié)構(gòu)、存取方法、輸入方式等。數(shù)據(jù)只在計(jì)算某一課題時(shí)輸入,用完就撤走,不保存8人工管理特點(diǎn)(1)數(shù)據(jù)的管理者:用戶(hù)(程序員)數(shù)據(jù)是面向應(yīng)用(2)文件系統(tǒng)階段時(shí)間:20世紀(jì)50年代中期應(yīng)用背景:科學(xué)計(jì)算、數(shù)據(jù)管理硬件背景:磁盤(pán)、磁鼓軟件背景:文件系統(tǒng)處理方式:聯(lián)機(jī)實(shí)時(shí)處理、批處理9(2)文件系統(tǒng)階段時(shí)間:20世紀(jì)50年代中期9文件系統(tǒng)的缺陷(1)數(shù)據(jù)的管理者:文件系統(tǒng)(2)數(shù)據(jù)面向的對(duì)象:基本還是面向應(yīng)用程序(3)數(shù)據(jù)共享程度:共享性差,冗余度大(4)數(shù)據(jù)的獨(dú)立性:有一定獨(dú)立性,但獨(dú)立性差(5)數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無(wú)結(jié)構(gòu)(6)數(shù)據(jù)控制能力:應(yīng)用程序控制數(shù)據(jù)可長(zhǎng)期保存由專(zhuān)門(mén)的軟件即文件系統(tǒng)進(jìn)行數(shù)據(jù)管理,文件系統(tǒng)把數(shù)據(jù)組織成相互獨(dú)立的數(shù)據(jù)文件,利用“按文件名訪問(wèn),按記錄進(jìn)行存取”的管理技術(shù),可以對(duì)文件進(jìn)行修改、插入和刪除的操作。在文件系統(tǒng)中,一個(gè)文件基本上對(duì)應(yīng)于一個(gè)應(yīng)用程序,即文件仍然是面向應(yīng)用的。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時(shí),也必須建立各自的文件,而不能共享相同的數(shù)據(jù),因此數(shù)據(jù)的冗余度大,浪費(fèi)存儲(chǔ)空間。同時(shí)由于相同數(shù)據(jù)的重復(fù)存儲(chǔ)、各自管理,容易造成數(shù)據(jù)的不一致性,給數(shù)據(jù)的修改和維護(hù)帶來(lái)了困難程序和數(shù)據(jù)間由文件系統(tǒng)提供存取方法進(jìn)行轉(zhuǎn)換,使應(yīng)用程序與數(shù)據(jù)間有了一定的獨(dú)立性,程序員可不必過(guò)多考慮物理細(xì)節(jié),將精力集中于算法。且數(shù)據(jù)在存儲(chǔ)上的改變不一定反映在程序上,節(jié)省了維護(hù)程序的工作量。文件為某一特定應(yīng)用服務(wù),其邏輯結(jié)構(gòu)對(duì)該應(yīng)用程序來(lái)說(shuō)是優(yōu)化的,因此要想對(duì)現(xiàn)有的數(shù)據(jù)再增加一些新的應(yīng)用會(huì)很困難,系統(tǒng)不易擴(kuò)充。一旦數(shù)據(jù)邏輯結(jié)構(gòu)改變,必須修改應(yīng)用程序,修改文件結(jié)構(gòu)的定義。應(yīng)用程序的改變,也將引起文件的數(shù)據(jù)結(jié)構(gòu)的改變。因此數(shù)據(jù)與程序之間仍缺乏獨(dú)立性。
10文件系統(tǒng)的缺陷(1)數(shù)據(jù)的管理者:文件系統(tǒng)由專(zhuān)門(mén)的軟件即文件(3)數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代末70年代初以來(lái)應(yīng)用背景:大規(guī)模管理硬件背景:大容量磁盤(pán)軟件背景:數(shù)據(jù)庫(kù)管理系統(tǒng)處理方式:聯(lián)機(jī)實(shí)時(shí)處理,分布式處理,批處理11(3)數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代末70年代初以來(lái)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)(1)數(shù)據(jù)的管理者:數(shù)據(jù)庫(kù)管理系統(tǒng)(2)數(shù)據(jù)面向的對(duì)象:整個(gè)組織、系統(tǒng)(多個(gè)應(yīng)用)(3)數(shù)據(jù)共享程度:共享性高,冗余度低,易擴(kuò)充(4)數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性一定的邏輯獨(dú)立性(5)數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述(6)數(shù)據(jù)控制能力:由數(shù)據(jù)庫(kù)管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)能力在數(shù)據(jù)庫(kù)系統(tǒng)中不僅要考慮某個(gè)應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個(gè)組織的數(shù)據(jù)結(jié)構(gòu)。例如:一個(gè)學(xué)校的信息管理系統(tǒng)中不僅要考慮學(xué)生的人事管理,還要考慮學(xué)籍管理、選課管理,同時(shí)還要考慮教員的人事管理、科研管理等應(yīng)用數(shù)據(jù)庫(kù)系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)不再面向某個(gè)應(yīng)用而是面向整個(gè)系統(tǒng),因此數(shù)據(jù)可以被多個(gè)用戶(hù)、多個(gè)應(yīng)用共享使用。數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間;還能夠避免數(shù)據(jù)之間的不相容性與不一致性。而且由于數(shù)據(jù)面向整個(gè)系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個(gè)應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫(kù)系統(tǒng)彈性大,易于擴(kuò)充,可以適應(yīng)各種用戶(hù)的要求。可以取整體數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求改變或增加時(shí),只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù)便可以滿(mǎn)足新的需求。物理獨(dú)立性是指用戶(hù)的應(yīng)用程序與存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。也就是說(shuō),數(shù)據(jù)在磁盤(pán)上的數(shù)據(jù)庫(kù)中怎樣存儲(chǔ)是由DBMS管理的,用戶(hù)程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性是指用戶(hù)應(yīng)用程序與數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)是相互獨(dú)立的,即數(shù)據(jù)邏輯結(jié)構(gòu)改變了,用戶(hù)程序可以不變。------數(shù)據(jù)獨(dú)立性是由DBMS的二級(jí)映象功能來(lái)保證的,將在下面討論。數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,是數(shù)據(jù)庫(kù)的主要特征之一,也是數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。
在文件系統(tǒng)中,盡管其記錄內(nèi)部己有了某些結(jié)構(gòu),但記錄之間沒(méi)有聯(lián)系。而數(shù)據(jù)庫(kù)系統(tǒng)在描述數(shù)據(jù)時(shí)不僅要描述數(shù)據(jù)本身,還要描述數(shù)據(jù)之間的聯(lián)系。而且存取數(shù)據(jù)的方式也很靈活,可以存取數(shù)據(jù)庫(kù)中的某一個(gè)數(shù)據(jù)項(xiàng)、一組數(shù)據(jù)項(xiàng)、一個(gè)記錄或一組記錄。而在文件系統(tǒng)中,數(shù)據(jù)的最小存單位是記錄.粒度不能細(xì)到數(shù)據(jù)項(xiàng)。12數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)(1)數(shù)據(jù)的管理者:數(shù)據(jù)庫(kù)管理系統(tǒng)在數(shù)據(jù)庫(kù)系數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)外模式/模式映像應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E外模式1外模式2外模式3模式內(nèi)模式數(shù)據(jù)庫(kù)模式/內(nèi)模式映像三級(jí)模式/二級(jí)映像13數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)外模式/模式映像應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)三級(jí)模式外模式(子模式/用戶(hù)模式)
局部邏輯結(jié)構(gòu)為特定的應(yīng)用設(shè)計(jì)、面向應(yīng)用的局部視圖模式(概念模式/邏輯模式)
全局邏輯結(jié)構(gòu)綜合考慮各項(xiàng)應(yīng)用組織成的整體數(shù)據(jù)結(jié)構(gòu),面向整個(gè)系統(tǒng);供多項(xiàng)應(yīng)用共享。內(nèi)模式(存儲(chǔ)模式)
存儲(chǔ)結(jié)構(gòu)全體數(shù)據(jù)庫(kù)數(shù)據(jù)的內(nèi)部表示或者低層描述,用來(lái)定義數(shù)據(jù)的存儲(chǔ)方式和物理結(jié)構(gòu)。14三級(jí)模式外模式(子模式/用戶(hù)模式)局部邏輯二級(jí)映像與數(shù)據(jù)獨(dú)立性外模式/模式映像(邏輯獨(dú)立性)定義某個(gè)外模式和模式之間的對(duì)應(yīng)關(guān)系。當(dāng)模式改變時(shí),外模式/模式映像要作相應(yīng)的改變,以保持外模式不變。(除非模式結(jié)構(gòu)的變化使得子模式中的某些數(shù)據(jù)無(wú)法再?gòu)臄?shù)據(jù)庫(kù)中導(dǎo)出)模式/內(nèi)模式映像(物理獨(dú)立性)定義數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),可相應(yīng)修改模式/內(nèi)模式映像,從而使模式保持不變。由此提供數(shù)據(jù)的邏輯獨(dú)立性
局部邏輯結(jié)構(gòu)獨(dú)立于全局邏輯結(jié)構(gòu)由此提供數(shù)據(jù)的物理獨(dú)立性
邏輯結(jié)構(gòu)獨(dú)立于物理結(jié)構(gòu)15二級(jí)映像與數(shù)據(jù)獨(dú)立性外模式/模式映像(邏輯獨(dú)立性)由此提供數(shù)主要內(nèi)容1.1數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展1.2數(shù)據(jù)庫(kù)管理系統(tǒng)概述1.3本書(shū)概述16主要內(nèi)容1.1數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展16數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新17數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)定義語(yǔ)言命令---修改模式/元數(shù)據(jù)(紅色軌跡)查詢(xún)處理過(guò)程(綠色軌跡)事務(wù)處理(黃色軌跡):ACID(Atomic、Consistent、Isolated、Durable)。記日志、并發(fā)控制與消除死鎖。18數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)定義語(yǔ)言命令---修改模式/元數(shù)據(jù)(1.數(shù)據(jù)與元數(shù)據(jù)數(shù)據(jù):數(shù)據(jù)庫(kù)本身的內(nèi)容元數(shù)據(jù)(metadata)描述有關(guān)數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)模式以及語(yǔ)義限制等的信息,如表結(jié)構(gòu)信息。另一種說(shuō)法:關(guān)于數(shù)據(jù)的數(shù)據(jù)數(shù)據(jù)與元數(shù)據(jù)外:統(tǒng)計(jì)數(shù)據(jù)索引日志記錄191.數(shù)據(jù)與元數(shù)據(jù)數(shù)據(jù):數(shù)據(jù)庫(kù)本身的內(nèi)容數(shù)據(jù)與元數(shù)據(jù)外:統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新20數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管2.DBMS的輸入由應(yīng)用程序或管理工具輸入查詢(xún):查詢(xún)要求更新:增、刪、改的要求模式更新:如修改表結(jié)構(gòu)要求有一定權(quán)限212.DBMS的輸入由應(yīng)用程序或管理工具輸入21數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新22數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管3.查詢(xún)處理器-1(1)查詢(xún)編譯器(querycompiler)把查詢(xún)轉(zhuǎn)換為查詢(xún)計(jì)劃。查詢(xún)計(jì)劃是在數(shù)據(jù)上的操作序列;通常用關(guān)系代數(shù)運(yùn)算表達(dá)。由以下3個(gè)模塊組成:查詢(xún)分析器:從查詢(xún)的文本結(jié)構(gòu)中構(gòu)造一個(gè)查詢(xún)樹(shù)查詢(xún)預(yù)處理器:對(duì)查詢(xún)做語(yǔ)義檢查,并將查詢(xún)語(yǔ)法樹(shù)轉(zhuǎn)換成表示初始查詢(xún)計(jì)劃的關(guān)系代數(shù)操作符樹(shù)。查詢(xún)優(yōu)化器:將查詢(xún)初始計(jì)劃轉(zhuǎn)換成在實(shí)際數(shù)據(jù)上最高效地執(zhí)行的操作序列。233.查詢(xún)處理器-1(1)查詢(xún)編譯器(querycompi3.查詢(xún)處理器-2(2)執(zhí)行引擎(executionengine)負(fù)責(zé)執(zhí)行選定的查詢(xún)計(jì)劃的每一步與DBMS其他組件直接或經(jīng)緩沖區(qū)進(jìn)行交互為了操作數(shù)據(jù),執(zhí)行引擎必須:從數(shù)據(jù)庫(kù)中將數(shù)據(jù)取到緩沖區(qū);與調(diào)度器交互避免存取已加鎖的數(shù)據(jù);與日志管理器交互以確保對(duì)數(shù)據(jù)庫(kù)的更新記入日志243.查詢(xún)處理器-2(2)執(zhí)行引擎(execution數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新25數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管4.存儲(chǔ)器與緩沖區(qū)管理程序存儲(chǔ)器管理器(storagemanager)負(fù)責(zé)控制數(shù)據(jù)在磁盤(pán)上的定位,以及數(shù)據(jù)在磁盤(pán)與主存間的移動(dòng)。跟蹤磁盤(pán)上的文件位置,根據(jù)請(qǐng)求從緩沖區(qū)管理器中獲取該文件的一個(gè)(多個(gè))磁盤(pán)塊(4000~16000B)為提高效率,DBMS通常直接控制磁盤(pán)管理器264.存儲(chǔ)器與緩沖區(qū)管理程序存儲(chǔ)器管理器(storagema4.存儲(chǔ)器與緩沖區(qū)管理程序(續(xù))緩沖區(qū)管理器負(fù)責(zé)把可用主存分割成緩沖區(qū)(buffer)緩沖區(qū)是包含若干個(gè)頁(yè)面的區(qū)域,可傳輸磁盤(pán)塊。所有需要從磁盤(pán)獲取信息的DBMS組件,可直接地或通過(guò)執(zhí)行引擎間接地同緩沖區(qū)以及緩沖區(qū)管理器進(jìn)行交互。274.存儲(chǔ)器與緩沖區(qū)管理程序(續(xù))緩沖區(qū)管理器27數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新28數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管5.事務(wù)管理器事務(wù)的概念事務(wù)是一個(gè)或多個(gè)必須被原子地執(zhí)行的數(shù)據(jù)庫(kù)操作的集合。例:銀行轉(zhuǎn)帳事務(wù)管理器(TransactionProcessor):(1)日志和恢復(fù)管理器:負(fù)責(zé)事務(wù)的持久性(2)并發(fā)控制管理器:保證事務(wù)的原子性、獨(dú)立性295.事務(wù)管理器事務(wù)的概念29事務(wù)的ACID性質(zhì)A:原子性事務(wù)中的操作或者都執(zhí)行或者都不執(zhí)行。C:一致性事務(wù)執(zhí)行前后數(shù)據(jù)庫(kù)滿(mǎn)足所有約定的一致性條件。I:獨(dú)立性?xún)蓚€(gè)事務(wù)同時(shí)執(zhí)行不相互干擾。D:持久性事務(wù)完成后即使系統(tǒng)故障,事務(wù)的結(jié)果長(zhǎng)期保存。例如:賬戶(hù)余額不能是負(fù)數(shù)30事務(wù)的ACID性質(zhì)A:原子性例如:賬戶(hù)余額不能是負(fù)數(shù)30(1)日志與恢復(fù)管理器數(shù)據(jù)庫(kù)的每一個(gè)變化記錄在日志中,無(wú)論何時(shí),系統(tǒng)出現(xiàn)故障或“崩潰”,恢復(fù)管理器都可以通過(guò)檢查日志中的修改記錄,把數(shù)據(jù)庫(kù)恢復(fù)到某一個(gè)一致?tīng)顟B(tài)。日志管理器先把日志寫(xiě)入緩沖區(qū),然后與緩沖區(qū)管理器協(xié)商以確保緩沖區(qū)中的數(shù)據(jù)在適當(dāng)?shù)臅r(shí)候?qū)懭氪疟P(pán)31(1)日志與恢復(fù)管理器數(shù)據(jù)庫(kù)的每一個(gè)變化記錄在日志中,無(wú)論(2)并發(fā)控制管理器也稱(chēng)為調(diào)度器(scheduler)可以令并行執(zhí)行的多個(gè)事務(wù)中的操作,執(zhí)行效果等同于事務(wù)串行執(zhí)行的某個(gè)次序,以此保證一致性。通過(guò)封鎖機(jī)制實(shí)現(xiàn)并發(fā)控制,對(duì)數(shù)據(jù)庫(kù)中的某些數(shù)據(jù)片斷加鎖,避免沖突操作帶來(lái)的不利影響;鎖通常保存在主存的鎖表中。調(diào)度器阻止執(zhí)行引擎存取加鎖數(shù)據(jù)。32(2)并發(fā)控制管理器也稱(chēng)為調(diào)度器(scheduler)可以消除死鎖死鎖當(dāng)事務(wù)通過(guò)調(diào)度器授權(quán)鎖競(jìng)爭(zhēng)資源時(shí),它們可能會(huì)陷入一種狀態(tài):由于每個(gè)事務(wù)需要的資源都被另一個(gè)事務(wù)占有,沒(méi)有一個(gè)事務(wù)能夠繼續(xù)執(zhí)行。消除死鎖事務(wù)管理器的任務(wù)之一刪除(“回滾”或“終止”)一個(gè)或多個(gè)事務(wù),以便其他事務(wù)可以繼續(xù)執(zhí)行33消除死鎖死鎖33未來(lái)數(shù)據(jù)庫(kù)系統(tǒng)面向?qū)ο驞BMS:面向?qū)ο缶幊淌歉玫某绦蚪Y(jié)構(gòu)工具提供豐富的數(shù)據(jù)類(lèi)型面向?qū)ο蟮囊恍┬绿匦约s束和觸發(fā)程序—數(shù)據(jù)庫(kù)中的主動(dòng)元素多媒體數(shù)據(jù)—無(wú)論是檢索方法還是存儲(chǔ)管理方法都必須做改進(jìn)數(shù)據(jù)集成—數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘技術(shù)34未來(lái)數(shù)據(jù)庫(kù)系統(tǒng)面向?qū)ο驞BMS:34數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展(續(xù)2)數(shù)據(jù)庫(kù)技術(shù)的最新發(fā)展:數(shù)據(jù)庫(kù)三大國(guó)際會(huì)議:VLDB(InternationalConferenceonVeryLargeDataBases)7篇(截至2006年)、ACMSIGMOD(InternationalConferenceonManagementofDataEngineering)2篇、ICDE(InternationalConferenceonDateEngineering)3篇ICDT主題(InternationalConferenceonDatabaseTheory):Accessmethodsandphysicaldesign;Activedatabases;Complexityandperformance;Constraintdatabases;Dataintegrationandinteroperability;Datamining;Datamodels;Databaseprogrammingandquerylanguages;Databasesandinformationretrieval;ProbabilisticDatabases;Databasesandworkflow;DatabasesandtheSemanticWeb;Databasesine-commerce;Databasesine-services;Deductivedatabasesandknowledgebases;Distributeddatabases;Integrityandsecurity;Logicanddatabases;Multimediadatabases;Queryoptimization;Queryprocessing;Real-timedatabases;Semi-structured,XML,andWebdata;Spatialdata;Temporaldata;Concurrencyandrecovery;Transactionmanagement;Viewsanddatawarehousing.第1講數(shù)據(jù)庫(kù)系統(tǒng)世界
35數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展(續(xù)2)數(shù)據(jù)庫(kù)技術(shù)的最新發(fā)展:數(shù)據(jù)庫(kù)三大國(guó)際主要內(nèi)容1.1數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展1.2數(shù)據(jù)庫(kù)管理系統(tǒng)概述1.3本書(shū)概述36主要內(nèi)容1.1數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展36數(shù)據(jù)庫(kù)系統(tǒng)的研究數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)程序設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)本課程著重研究37數(shù)據(jù)庫(kù)系統(tǒng)的研究數(shù)據(jù)庫(kù)設(shè)計(jì)本課程著重研究37(1)數(shù)據(jù)庫(kù)設(shè)計(jì)第2章實(shí)體-聯(lián)系數(shù)據(jù)模型第3章關(guān)系數(shù)據(jù)模型第4章其他數(shù)據(jù)模型38(1)數(shù)據(jù)庫(kù)設(shè)計(jì)第2章實(shí)體-聯(lián)系數(shù)據(jù)模型38(2)數(shù)據(jù)庫(kù)程序設(shè)計(jì)第5章關(guān)系代數(shù)第6章數(shù)據(jù)庫(kù)語(yǔ)言SQL第7章約束和觸發(fā)器第8章SQL的系統(tǒng)特征39(2)數(shù)據(jù)庫(kù)程序設(shè)計(jì)第5章關(guān)系代數(shù)39本章結(jié)束!40本章結(jié)束!40第1章數(shù)據(jù)庫(kù)系統(tǒng)世界主講人:駱炎民Email:lym@41第1章數(shù)據(jù)庫(kù)系統(tǒng)世界主講人:駱炎民1基本概念數(shù)據(jù)(Data)能輸入計(jì)算機(jī)并被計(jì)算機(jī)程序識(shí)別處理的信息集合數(shù)據(jù)處理對(duì)各種數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、加工和傳播的一系列活動(dòng)的總和。數(shù)據(jù)管理對(duì)數(shù)據(jù)進(jìn)行分類(lèi)、組織、編碼、存儲(chǔ)。檢索和維護(hù)它是數(shù)據(jù)處理的中心問(wèn)題42基本概念數(shù)據(jù)(Data)2基本概念(續(xù))數(shù)據(jù)庫(kù)(Database)本質(zhì)上是信息的集合一般而言,數(shù)據(jù)庫(kù)是指在數(shù)據(jù)庫(kù)管理系統(tǒng)管理和控制之下,存放在存儲(chǔ)介質(zhì)上的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem-DBMS)數(shù)據(jù)庫(kù)系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理控制的軟件系統(tǒng)43基本概念(續(xù))數(shù)據(jù)庫(kù)(Database)3DBMS的功能(1)數(shù)據(jù)庫(kù)定義功能提供數(shù)據(jù)定義語(yǔ)言(DDL);定義數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象(2)數(shù)據(jù)庫(kù)操縱功能提供數(shù)據(jù)操縱語(yǔ)言(DML);操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作(查詢(xún)、插入、刪除和修改)。(3)數(shù)據(jù)庫(kù)的運(yùn)行管理
保證數(shù)據(jù)的安全性、完整性;多用戶(hù)對(duì)數(shù)據(jù)的并發(fā)使用;發(fā)生故障后的系統(tǒng)恢復(fù)44DBMS的功能(1)數(shù)據(jù)庫(kù)定義功能4DBMS的功能(續(xù))(4)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序)數(shù)據(jù)庫(kù)數(shù)據(jù)批量裝載數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)介質(zhì)故障恢復(fù)數(shù)據(jù)庫(kù)的重組織性能監(jiān)視等45DBMS的功能(續(xù))(4)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序數(shù)據(jù)管理技術(shù)的發(fā)展歷程在應(yīng)用需求的推動(dòng)下,在計(jì)算機(jī)硬件、軟件發(fā)展的基礎(chǔ)上,數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)階段:(1)人工管理階段(2)文件系統(tǒng)階段(3)數(shù)據(jù)庫(kù)系統(tǒng)階段46數(shù)據(jù)管理技術(shù)的發(fā)展歷程在應(yīng)用需求的推動(dòng)下,在計(jì)算機(jī)硬件、軟件(1)人工管理階段時(shí)間:20世紀(jì)50年代中期以前應(yīng)用背景:科學(xué)計(jì)算硬件背景:無(wú)直接存取存儲(chǔ)設(shè)備軟件背景:無(wú)操作系統(tǒng)處理方式:批處理47(1)人工管理階段時(shí)間:20世紀(jì)50年代中期以前7人工管理特點(diǎn)(1)數(shù)據(jù)的管理者:用戶(hù)(程序員)(2)數(shù)據(jù)面向的對(duì)象:某個(gè)應(yīng)用程序(3)數(shù)據(jù)共享程度:數(shù)據(jù)不共享,冗余度極大(4)數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴(lài)于程序(5)數(shù)據(jù)的結(jié)構(gòu)化:無(wú)結(jié)構(gòu)(6)數(shù)據(jù)控制能力:應(yīng)用程序控制,數(shù)據(jù)不保存數(shù)據(jù)是面向應(yīng)用的,一組數(shù)據(jù)只能對(duì)應(yīng)一個(gè)程序。當(dāng)多個(gè)應(yīng)用程序涉及某些相同的數(shù)據(jù)時(shí),由于必須各自定義,無(wú)法互相利用、互相參照,因此程序與程序之間有大量的冗余數(shù)據(jù)。
數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后,必須對(duì)應(yīng)用程序做相應(yīng)的修改,這就進(jìn)一步加重了程序員的負(fù)擔(dān)。應(yīng)用程序中不僅要規(guī)定數(shù)據(jù)的邏輯結(jié)構(gòu),而且要設(shè)計(jì)物理結(jié)構(gòu),包括存儲(chǔ)結(jié)構(gòu)、存取方法、輸入方式等。數(shù)據(jù)只在計(jì)算某一課題時(shí)輸入,用完就撤走,不保存48人工管理特點(diǎn)(1)數(shù)據(jù)的管理者:用戶(hù)(程序員)數(shù)據(jù)是面向應(yīng)用(2)文件系統(tǒng)階段時(shí)間:20世紀(jì)50年代中期應(yīng)用背景:科學(xué)計(jì)算、數(shù)據(jù)管理硬件背景:磁盤(pán)、磁鼓軟件背景:文件系統(tǒng)處理方式:聯(lián)機(jī)實(shí)時(shí)處理、批處理49(2)文件系統(tǒng)階段時(shí)間:20世紀(jì)50年代中期9文件系統(tǒng)的缺陷(1)數(shù)據(jù)的管理者:文件系統(tǒng)(2)數(shù)據(jù)面向的對(duì)象:基本還是面向應(yīng)用程序(3)數(shù)據(jù)共享程度:共享性差,冗余度大(4)數(shù)據(jù)的獨(dú)立性:有一定獨(dú)立性,但獨(dú)立性差(5)數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無(wú)結(jié)構(gòu)(6)數(shù)據(jù)控制能力:應(yīng)用程序控制數(shù)據(jù)可長(zhǎng)期保存由專(zhuān)門(mén)的軟件即文件系統(tǒng)進(jìn)行數(shù)據(jù)管理,文件系統(tǒng)把數(shù)據(jù)組織成相互獨(dú)立的數(shù)據(jù)文件,利用“按文件名訪問(wèn),按記錄進(jìn)行存取”的管理技術(shù),可以對(duì)文件進(jìn)行修改、插入和刪除的操作。在文件系統(tǒng)中,一個(gè)文件基本上對(duì)應(yīng)于一個(gè)應(yīng)用程序,即文件仍然是面向應(yīng)用的。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時(shí),也必須建立各自的文件,而不能共享相同的數(shù)據(jù),因此數(shù)據(jù)的冗余度大,浪費(fèi)存儲(chǔ)空間。同時(shí)由于相同數(shù)據(jù)的重復(fù)存儲(chǔ)、各自管理,容易造成數(shù)據(jù)的不一致性,給數(shù)據(jù)的修改和維護(hù)帶來(lái)了困難程序和數(shù)據(jù)間由文件系統(tǒng)提供存取方法進(jìn)行轉(zhuǎn)換,使應(yīng)用程序與數(shù)據(jù)間有了一定的獨(dú)立性,程序員可不必過(guò)多考慮物理細(xì)節(jié),將精力集中于算法。且數(shù)據(jù)在存儲(chǔ)上的改變不一定反映在程序上,節(jié)省了維護(hù)程序的工作量。文件為某一特定應(yīng)用服務(wù),其邏輯結(jié)構(gòu)對(duì)該應(yīng)用程序來(lái)說(shuō)是優(yōu)化的,因此要想對(duì)現(xiàn)有的數(shù)據(jù)再增加一些新的應(yīng)用會(huì)很困難,系統(tǒng)不易擴(kuò)充。一旦數(shù)據(jù)邏輯結(jié)構(gòu)改變,必須修改應(yīng)用程序,修改文件結(jié)構(gòu)的定義。應(yīng)用程序的改變,也將引起文件的數(shù)據(jù)結(jié)構(gòu)的改變。因此數(shù)據(jù)與程序之間仍缺乏獨(dú)立性。
50文件系統(tǒng)的缺陷(1)數(shù)據(jù)的管理者:文件系統(tǒng)由專(zhuān)門(mén)的軟件即文件(3)數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代末70年代初以來(lái)應(yīng)用背景:大規(guī)模管理硬件背景:大容量磁盤(pán)軟件背景:數(shù)據(jù)庫(kù)管理系統(tǒng)處理方式:聯(lián)機(jī)實(shí)時(shí)處理,分布式處理,批處理51(3)數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代末70年代初以來(lái)數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)(1)數(shù)據(jù)的管理者:數(shù)據(jù)庫(kù)管理系統(tǒng)(2)數(shù)據(jù)面向的對(duì)象:整個(gè)組織、系統(tǒng)(多個(gè)應(yīng)用)(3)數(shù)據(jù)共享程度:共享性高,冗余度低,易擴(kuò)充(4)數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性一定的邏輯獨(dú)立性(5)數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述(6)數(shù)據(jù)控制能力:由數(shù)據(jù)庫(kù)管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)能力在數(shù)據(jù)庫(kù)系統(tǒng)中不僅要考慮某個(gè)應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個(gè)組織的數(shù)據(jù)結(jié)構(gòu)。例如:一個(gè)學(xué)校的信息管理系統(tǒng)中不僅要考慮學(xué)生的人事管理,還要考慮學(xué)籍管理、選課管理,同時(shí)還要考慮教員的人事管理、科研管理等應(yīng)用數(shù)據(jù)庫(kù)系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)不再面向某個(gè)應(yīng)用而是面向整個(gè)系統(tǒng),因此數(shù)據(jù)可以被多個(gè)用戶(hù)、多個(gè)應(yīng)用共享使用。數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間;還能夠避免數(shù)據(jù)之間的不相容性與不一致性。而且由于數(shù)據(jù)面向整個(gè)系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個(gè)應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫(kù)系統(tǒng)彈性大,易于擴(kuò)充,可以適應(yīng)各種用戶(hù)的要求。可以取整體數(shù)據(jù)的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)應(yīng)用需求改變或增加時(shí),只要重新選取不同的子集或加上一部分?jǐn)?shù)據(jù)便可以滿(mǎn)足新的需求。物理獨(dú)立性是指用戶(hù)的應(yīng)用程序與存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。也就是說(shuō),數(shù)據(jù)在磁盤(pán)上的數(shù)據(jù)庫(kù)中怎樣存儲(chǔ)是由DBMS管理的,用戶(hù)程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性是指用戶(hù)應(yīng)用程序與數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)是相互獨(dú)立的,即數(shù)據(jù)邏輯結(jié)構(gòu)改變了,用戶(hù)程序可以不變。------數(shù)據(jù)獨(dú)立性是由DBMS的二級(jí)映象功能來(lái)保證的,將在下面討論。數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,是數(shù)據(jù)庫(kù)的主要特征之一,也是數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。
在文件系統(tǒng)中,盡管其記錄內(nèi)部己有了某些結(jié)構(gòu),但記錄之間沒(méi)有聯(lián)系。而數(shù)據(jù)庫(kù)系統(tǒng)在描述數(shù)據(jù)時(shí)不僅要描述數(shù)據(jù)本身,還要描述數(shù)據(jù)之間的聯(lián)系。而且存取數(shù)據(jù)的方式也很靈活,可以存取數(shù)據(jù)庫(kù)中的某一個(gè)數(shù)據(jù)項(xiàng)、一組數(shù)據(jù)項(xiàng)、一個(gè)記錄或一組記錄。而在文件系統(tǒng)中,數(shù)據(jù)的最小存單位是記錄.粒度不能細(xì)到數(shù)據(jù)項(xiàng)。52數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)(1)數(shù)據(jù)的管理者:數(shù)據(jù)庫(kù)管理系統(tǒng)在數(shù)據(jù)庫(kù)系數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)外模式/模式映像應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E外模式1外模式2外模式3模式內(nèi)模式數(shù)據(jù)庫(kù)模式/內(nèi)模式映像三級(jí)模式/二級(jí)映像53數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)外模式/模式映像應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)三級(jí)模式外模式(子模式/用戶(hù)模式)
局部邏輯結(jié)構(gòu)為特定的應(yīng)用設(shè)計(jì)、面向應(yīng)用的局部視圖模式(概念模式/邏輯模式)
全局邏輯結(jié)構(gòu)綜合考慮各項(xiàng)應(yīng)用組織成的整體數(shù)據(jù)結(jié)構(gòu),面向整個(gè)系統(tǒng);供多項(xiàng)應(yīng)用共享。內(nèi)模式(存儲(chǔ)模式)
存儲(chǔ)結(jié)構(gòu)全體數(shù)據(jù)庫(kù)數(shù)據(jù)的內(nèi)部表示或者低層描述,用來(lái)定義數(shù)據(jù)的存儲(chǔ)方式和物理結(jié)構(gòu)。54三級(jí)模式外模式(子模式/用戶(hù)模式)局部邏輯二級(jí)映像與數(shù)據(jù)獨(dú)立性外模式/模式映像(邏輯獨(dú)立性)定義某個(gè)外模式和模式之間的對(duì)應(yīng)關(guān)系。當(dāng)模式改變時(shí),外模式/模式映像要作相應(yīng)的改變,以保持外模式不變。(除非模式結(jié)構(gòu)的變化使得子模式中的某些數(shù)據(jù)無(wú)法再?gòu)臄?shù)據(jù)庫(kù)中導(dǎo)出)模式/內(nèi)模式映像(物理獨(dú)立性)定義數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),可相應(yīng)修改模式/內(nèi)模式映像,從而使模式保持不變。由此提供數(shù)據(jù)的邏輯獨(dú)立性
局部邏輯結(jié)構(gòu)獨(dú)立于全局邏輯結(jié)構(gòu)由此提供數(shù)據(jù)的物理獨(dú)立性
邏輯結(jié)構(gòu)獨(dú)立于物理結(jié)構(gòu)55二級(jí)映像與數(shù)據(jù)獨(dú)立性外模式/模式映像(邏輯獨(dú)立性)由此提供數(shù)主要內(nèi)容1.1數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展1.2數(shù)據(jù)庫(kù)管理系統(tǒng)概述1.3本書(shū)概述56主要內(nèi)容1.1數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展16數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新57數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)定義語(yǔ)言命令---修改模式/元數(shù)據(jù)(紅色軌跡)查詢(xún)處理過(guò)程(綠色軌跡)事務(wù)處理(黃色軌跡):ACID(Atomic、Consistent、Isolated、Durable)。記日志、并發(fā)控制與消除死鎖。58數(shù)據(jù)庫(kù)管理系統(tǒng)的組成數(shù)據(jù)定義語(yǔ)言命令---修改模式/元數(shù)據(jù)(1.數(shù)據(jù)與元數(shù)據(jù)數(shù)據(jù):數(shù)據(jù)庫(kù)本身的內(nèi)容元數(shù)據(jù)(metadata)描述有關(guān)數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)模式以及語(yǔ)義限制等的信息,如表結(jié)構(gòu)信息。另一種說(shuō)法:關(guān)于數(shù)據(jù)的數(shù)據(jù)數(shù)據(jù)與元數(shù)據(jù)外:統(tǒng)計(jì)數(shù)據(jù)索引日志記錄591.數(shù)據(jù)與元數(shù)據(jù)數(shù)據(jù):數(shù)據(jù)庫(kù)本身的內(nèi)容數(shù)據(jù)與元數(shù)據(jù)外:統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新60數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管2.DBMS的輸入由應(yīng)用程序或管理工具輸入查詢(xún):查詢(xún)要求更新:增、刪、改的要求模式更新:如修改表結(jié)構(gòu)要求有一定權(quán)限612.DBMS的輸入由應(yīng)用程序或管理工具輸入21數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新62數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管3.查詢(xún)處理器-1(1)查詢(xún)編譯器(querycompiler)把查詢(xún)轉(zhuǎn)換為查詢(xún)計(jì)劃。查詢(xún)計(jì)劃是在數(shù)據(jù)上的操作序列;通常用關(guān)系代數(shù)運(yùn)算表達(dá)。由以下3個(gè)模塊組成:查詢(xún)分析器:從查詢(xún)的文本結(jié)構(gòu)中構(gòu)造一個(gè)查詢(xún)樹(shù)查詢(xún)預(yù)處理器:對(duì)查詢(xún)做語(yǔ)義檢查,并將查詢(xún)語(yǔ)法樹(shù)轉(zhuǎn)換成表示初始查詢(xún)計(jì)劃的關(guān)系代數(shù)操作符樹(shù)。查詢(xún)優(yōu)化器:將查詢(xún)初始計(jì)劃轉(zhuǎn)換成在實(shí)際數(shù)據(jù)上最高效地執(zhí)行的操作序列。633.查詢(xún)處理器-1(1)查詢(xún)編譯器(querycompi3.查詢(xún)處理器-2(2)執(zhí)行引擎(executionengine)負(fù)責(zé)執(zhí)行選定的查詢(xún)計(jì)劃的每一步與DBMS其他組件直接或經(jīng)緩沖區(qū)進(jìn)行交互為了操作數(shù)據(jù),執(zhí)行引擎必須:從數(shù)據(jù)庫(kù)中將數(shù)據(jù)取到緩沖區(qū);與調(diào)度器交互避免存取已加鎖的數(shù)據(jù);與日志管理器交互以確保對(duì)數(shù)據(jù)庫(kù)的更新記入日志643.查詢(xún)處理器-2(2)執(zhí)行引擎(execution數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新65數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管4.存儲(chǔ)器與緩沖區(qū)管理程序存儲(chǔ)器管理器(storagemanager)負(fù)責(zé)控制數(shù)據(jù)在磁盤(pán)上的定位,以及數(shù)據(jù)在磁盤(pán)與主存間的移動(dòng)。跟蹤磁盤(pán)上的文件位置,根據(jù)請(qǐng)求從緩沖區(qū)管理器中獲取該文件的一個(gè)(多個(gè))磁盤(pán)塊(4000~16000B)為提高效率,DBMS通常直接控制磁盤(pán)管理器664.存儲(chǔ)器與緩沖區(qū)管理程序存儲(chǔ)器管理器(storagema4.存儲(chǔ)器與緩沖區(qū)管理程序(續(xù))緩沖區(qū)管理器負(fù)責(zé)把可用主存分割成緩沖區(qū)(buffer)緩沖區(qū)是包含若干個(gè)頁(yè)面的區(qū)域,可傳輸磁盤(pán)塊。所有需要從磁盤(pán)獲取信息的DBMS組件,可直接地或通過(guò)執(zhí)行引擎間接地同緩沖區(qū)以及緩沖區(qū)管理器進(jìn)行交互。674.存儲(chǔ)器與緩沖區(qū)管理程序(續(xù))緩沖區(qū)管理器27數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管理器數(shù)據(jù)與元數(shù)據(jù)模式更新查詢(xún)更新68數(shù)據(jù)庫(kù)管理系統(tǒng)的組成存儲(chǔ)器和緩沖區(qū)管理器“查詢(xún)”處理器事務(wù)管5.事務(wù)管理器事務(wù)的概念事務(wù)是一個(gè)或多個(gè)必須被原子地執(zhí)行的數(shù)據(jù)庫(kù)操作的集合。例:銀行轉(zhuǎn)帳事務(wù)管理器(TransactionProcessor):(1)日志和恢復(fù)管理器:負(fù)責(zé)事務(wù)的持久性(2)并發(fā)控制管理器:保證事務(wù)的原子性、獨(dú)立性695.事務(wù)管理器事務(wù)的概念29事務(wù)的ACID性質(zhì)A:原子性事務(wù)中的操作或者都執(zhí)行或者都不執(zhí)行。C:一致性事務(wù)執(zhí)行前后數(shù)據(jù)庫(kù)滿(mǎn)足所有約定的一致性條件。I:獨(dú)立性?xún)蓚€(gè)事務(wù)同時(shí)執(zhí)行不相互干擾。D:持久性事務(wù)完成后即使系統(tǒng)故障,事務(wù)的結(jié)果長(zhǎng)期保存。例如:賬戶(hù)余額不能是負(fù)數(shù)70事務(wù)的ACID性質(zhì)A:原子性例如:賬戶(hù)余額不能是負(fù)數(shù)30(1)日志與恢復(fù)管理器數(shù)據(jù)庫(kù)的每一個(gè)變化記錄在日志中,無(wú)論何時(shí),系統(tǒng)出現(xiàn)故障或“崩潰”,恢復(fù)管理器都可以通過(guò)檢查日志中的修改記錄,把數(shù)據(jù)庫(kù)恢復(fù)到某一個(gè)一致?tīng)顟B(tài)。日志管理器先把日志寫(xiě)入緩沖區(qū),然后與緩沖區(qū)管理器協(xié)商以確保緩沖區(qū)中的數(shù)據(jù)在適當(dāng)?shù)臅r(shí)候?qū)懭氪疟P(pán)71(1)日志與恢復(fù)管理器數(shù)據(jù)庫(kù)的每一個(gè)變化記錄在日志中,無(wú)論(2)并發(fā)控制管理器也稱(chēng)為調(diào)度器(scheduler)可以令并行執(zhí)行的多個(gè)事務(wù)中的操作,執(zhí)行效果等同于事務(wù)串行執(zhí)行的某個(gè)次序,以此保證一致性。通過(guò)封鎖機(jī)制實(shí)現(xiàn)并發(fā)控制,對(duì)數(shù)據(jù)庫(kù)中的某些數(shù)據(jù)片斷加鎖,避免沖突操作帶來(lái)的不利影響;鎖通常保存在主存的鎖表中。調(diào)度器阻止執(zhí)行引擎存取加鎖數(shù)據(jù)。72(2)并發(fā)控制管理器也稱(chēng)為調(diào)度器(scheduler)可以消除死鎖死鎖當(dāng)事務(wù)通過(guò)調(diào)度器授權(quán)鎖競(jìng)爭(zhēng)資源時(shí),它們可能會(huì)陷入一種狀態(tài):由于每個(gè)事務(wù)需要的資源都被另一個(gè)事務(wù)占有,沒(méi)有一個(gè)事務(wù)能夠繼續(xù)執(zhí)行。消除死鎖事務(wù)管
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度洗浴中心員工福利保障與激勵(lì)合同4篇
- 2024秀嶼區(qū)文印中心綜合性承包經(jīng)營(yíng)管理合同3篇
- 2024聘用駕駛員安全保障及應(yīng)急處理服務(wù)合同3篇
- 2025年度智能穿戴設(shè)備打膠密封服務(wù)合同4篇
- 2025年度智能船舶租賃合作協(xié)議模板4篇
- 2025年度玻璃纖維復(fù)合材料研發(fā)與市場(chǎng)拓展承包合同3篇
- 2024年租賃合同:設(shè)備租賃與維護(hù)條款
- 2025年度文化傳播公司員工辭退合同范本4篇
- 2025年度幼兒園食堂承包運(yùn)營(yíng)管理合同范本3篇
- 2025年度智慧城市建設(shè)戰(zhàn)略合作框架協(xié)議范本4篇
- 【人教版】九年級(jí)化學(xué)上冊(cè)期末試卷及答案【【人教版】】
- 四年級(jí)數(shù)學(xué)上冊(cè)期末試卷及答案【可打印】
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)課時(shí)作業(yè)本(含答案)
- 中小學(xué)人工智能教育方案
- 高三完形填空專(zhuān)項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
- 建筑企業(yè)新年開(kāi)工儀式方案
- 營(yíng)銷(xiāo)組織方案
- 初中英語(yǔ)閱讀理解專(zhuān)項(xiàng)練習(xí)26篇(含答案)
評(píng)論
0/150
提交評(píng)論