河海大學(xué)數(shù)據(jù)庫課件(by陳惠萍)chp12-DBMS_第1頁
河海大學(xué)數(shù)據(jù)庫課件(by陳惠萍)chp12-DBMS_第2頁
河海大學(xué)數(shù)據(jù)庫課件(by陳惠萍)chp12-DBMS_第3頁
河海大學(xué)數(shù)據(jù)庫課件(by陳惠萍)chp12-DBMS_第4頁
河海大學(xué)數(shù)據(jù)庫課件(by陳惠萍)chp12-DBMS_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫系統(tǒng)概論

AnIntroductiontoDatabaseSystems

陳慧萍chenhp@數(shù)據(jù)庫系統(tǒng)概論AnIntroductiontoDatabaseSystem第十二章數(shù)據(jù)庫管理系統(tǒng)第十二章數(shù)據(jù)庫管理系統(tǒng)12.1DBMS的基本功能12.2DBMS的進(jìn)程結(jié)構(gòu)和多線索機(jī)制12.3DBMS系統(tǒng)結(jié)構(gòu)12.4語言處理12.5數(shù)據(jù)存取層12.6緩沖區(qū)管理12.7數(shù)據(jù)庫物理組織12.8小結(jié)12.1DBMS的基本功能數(shù)據(jù)庫定義和創(chuàng)建數(shù)據(jù)組織、存儲和管理數(shù)據(jù)存取數(shù)據(jù)庫事務(wù)管理和運(yùn)行管理數(shù)據(jù)庫的建立和維護(hù)其他功能12.1DBMS的基本功能(續(xù))數(shù)據(jù)庫定義和創(chuàng)建外模式、模式、內(nèi)模式的定義數(shù)據(jù)庫完整性的定義安全保密定義(如用戶口令、級別、存取權(quán)限)存取路徑(如索引)的定義

數(shù)據(jù)字典(亦稱為系統(tǒng)目錄):存儲定義

12.1DBMS的基本功能(續(xù))數(shù)據(jù)組織、存儲和管理數(shù)據(jù)的種類數(shù)據(jù)字典用戶數(shù)據(jù)存取路徑任務(wù)以某種文件結(jié)構(gòu)和存取方式物理地組織這些數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)之間的聯(lián)系目標(biāo)提高存儲空間利用率提高隨機(jī)查找、順序查找、增、刪、改等操作的時間效率

12.1DBMS的基本功能(續(xù))數(shù)據(jù)存取數(shù)據(jù)操縱語言(DML)檢索插入修改刪除兩類DML宿主型語言自立(獨(dú)立)型語言12.1DBMS的基本功能(續(xù))數(shù)據(jù)庫事務(wù)管理和運(yùn)行管理多用戶環(huán)境下事務(wù)的管理和自動恢復(fù)并發(fā)控制和死鎖檢測(或死鎖防止)安全性檢查和存取控制完整性檢查和執(zhí)行運(yùn)行日志的組織管理12.1DBMS的基本功能(續(xù))數(shù)據(jù)庫的建立和維護(hù)建立數(shù)據(jù)庫數(shù)據(jù)庫的初始建立數(shù)據(jù)的轉(zhuǎn)換維護(hù)數(shù)據(jù)庫數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)數(shù)據(jù)庫的重組織和重構(gòu)造性能監(jiān)測分析12.1DBMS的基本功能(續(xù))其他功能DBMS與網(wǎng)絡(luò)中其他軟件系統(tǒng)的通信功能與其他DBMS或文件系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換功能異構(gòu)數(shù)據(jù)庫之間的互訪和互操作功能

12.2DBMS進(jìn)程結(jié)構(gòu)和多線索機(jī)制12.2.1N方案:DBMS與應(yīng)用程序相融合的方案12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程12.2.5多線索(Multi_Threaded)DBMS的概念12.2.1N方案:DBMS與應(yīng)用程序相融合的方案N個DB用戶--N個進(jìn)程連入式方案SGA(Shared GlobalArea) 共享全局區(qū)字典定義信息數(shù)據(jù)和索引緩沖塊日志緩沖塊封鎖控制塊12.2.1N方案:DBMS與應(yīng)用程序相融合的方案優(yōu)點(diǎn)沒有進(jìn)程切換開銷實(shí)現(xiàn)比較簡單缺點(diǎn)內(nèi)存的需求量比較大:多DBMS副本代碼冗余使系統(tǒng)性能下降適用情況用戶數(shù)少的小型DBMS12.2DBMS進(jìn)程結(jié)構(gòu)和多線索機(jī)制12.2.1N方案:DBMS與應(yīng)用程序相融合的方案12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程12.2.5多線索(Multi_Threaded)DBMS的概念12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程解決N方案中DBMS代碼段在內(nèi)存中不能被共享

應(yīng)用程序與DBMS副本分開2N方案一用戶一進(jìn)程(Shadow進(jìn)程)N個用戶進(jìn)程---N個DBMS進(jìn)程(共2N個進(jìn)程)12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程優(yōu)點(diǎn)DBMS對各數(shù)據(jù)庫用戶的多任務(wù)調(diào)度由OS完成簡化了用戶進(jìn)程與DBMS的接口實(shí)現(xiàn)起來比較簡單

缺點(diǎn)進(jìn)程間總的通信開銷上升操作系統(tǒng)的負(fù)擔(dān)增大,空間、時間效率不高DBMS必須設(shè)立并維護(hù)若干后臺進(jìn)程,增加了進(jìn)程切換要訪問的數(shù)據(jù)不在內(nèi)存時會造成性能問題臨界區(qū)問題(CriticalSection)適用情況用戶數(shù)不龐大(非OLTP應(yīng)用):Oracle7之前版本,Ingres,Informix早期版本12.2DBMS進(jìn)程結(jié)構(gòu)和多線索機(jī)制12.2.1N方案:DBMS與應(yīng)用程序相融合的方案12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程12.2.5多線索(Multi_Threaded)DBMS的概念12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程整個DBMS僅使用一個進(jìn)程,類似于一個服務(wù)器(Server)多個數(shù)據(jù)庫用戶向Server發(fā)message申請數(shù)據(jù)庫服務(wù)Server用自己的機(jī)制來調(diào)度這些申請,以支持一個多任務(wù)的數(shù)據(jù)庫系統(tǒng)沒有SGA,DBMS進(jìn)程的數(shù)據(jù)區(qū)=SGA沒有后臺進(jìn)程用多線索(Multi_Threaded)技術(shù)來實(shí)現(xiàn)N+1方案12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程優(yōu)點(diǎn)采用多線索(Multi_Threaded)技術(shù)提高系統(tǒng)性能,降低系統(tǒng)資源的開銷,簡化DBMS許多部分的設(shè)計(jì)缺點(diǎn)DBMS的設(shè)計(jì)整體上較復(fù)雜消息系統(tǒng)過于昂貴實(shí)際系統(tǒng)Sybase12.2DBMS進(jìn)程結(jié)構(gòu)和多線索機(jī)制12.2.1N方案:DBMS與應(yīng)用程序相融合的方案12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程12.2.5多線索(Multi_Threaded)DBMS的概念12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程M個DBMS進(jìn)程--N個用戶進(jìn)程(一般M<N)DBMS進(jìn)程不負(fù)責(zé)多任務(wù)調(diào)度,每個用戶進(jìn)程也不固定地對應(yīng)于某個DBMS進(jìn)程用戶的數(shù)據(jù)庫請求被動態(tài)分配給某個DBMS進(jìn)程來處理DBMS進(jìn)程的分派由分派程序完成12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程優(yōu)點(diǎn)改進(jìn)了2N方案,提高了內(nèi)存資源的利用率缺點(diǎn)沒有克服2N方案的本質(zhì)弱點(diǎn)分派程序給系統(tǒng)增加了開銷并可能成為瓶頸DBMS進(jìn)程動態(tài)增減的開銷亦很大

實(shí)際系統(tǒng)OracleInformix12.2DBMS進(jìn)程結(jié)構(gòu)和多線索機(jī)制12.2.1N方案:DBMS與應(yīng)用程序相融合的方案12.2.22N方案:一個DBMS進(jìn)程對應(yīng)一個用戶進(jìn)程12.2.3N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程12.2.4N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程12.2.5多線索(Multi_Threaded)DBMS的概念一、線程的概念進(jìn)程細(xì)化為“任務(wù)”(Task)、“線程”(Thread)進(jìn)程一分為二Task是申請資源的最小單位Thread是調(diào)度和運(yùn)行的最小單位一個Task中可有多個ThreadThread共享Task的所有資源,共同完成一個任務(wù)線程將進(jìn)程中的程序代碼與進(jìn)程所占資源相分離,從而在一個地址空間運(yùn)行多個指令流一、線程的概念(續(xù))二、多線索(Multi_Threaded)DBMSDBMS是一個Task用戶申請數(shù)據(jù)庫服務(wù)時,Task分配至少一個Thread為之服務(wù)多個Thread并行工作,共享資源三、線索與進(jìn)程的比較線索比進(jìn)程占用較少的資源線索調(diào)度比較靈活,可控制性強(qiáng)線索切換開銷較小線索間通信簡便

12.3DBMS系統(tǒng)結(jié)構(gòu)12.3.1DBMS的層次結(jié)構(gòu)12.3.2RDBMS的運(yùn)行過程示例12.3.1DBMS的層次結(jié)構(gòu)處理各種各樣的數(shù)據(jù)庫應(yīng)用是RDBMS與用戶/應(yīng)用程序的界面層處理數(shù)據(jù)庫語言,如SQL向上提供的數(shù)據(jù)接口是元組的集合處理單個元組把集合操作化為單記錄操作并執(zhí)行處理數(shù)據(jù)頁和系統(tǒng)緩沖區(qū)12.3DBMS系統(tǒng)結(jié)構(gòu)12.3.1DBMS的層次結(jié)構(gòu)12.3.2RDBMS的運(yùn)行過程示例12.3.2RDBMS的運(yùn)行過程示例12.4語言處理12.4.1語言處理層的任務(wù)和工作12.4.2解釋方法12.4.3預(yù)編譯方法12.4.1語言處理層的任務(wù)和工作接收DB語句轉(zhuǎn)換對DBMS內(nèi)層可執(zhí)行的基本存取模塊的調(diào)用序列交互式方式下的SQL語句嵌入3GL中的SQL語句PL/SQL中的SQL語句12.4.1語言處理層的任務(wù)和工作(續(xù))DDL語句處理過程把它翻譯成內(nèi)部表示存儲在系統(tǒng)的數(shù)據(jù)字典中DCL語句處理過程與DDL的處理類似12.4.1語言處理層的任務(wù)和工作(續(xù))DML語句的處理束縛過程束縛時間DML語句

束縛(Binding)一串可執(zhí)行的存取動作(調(diào)用序列)相當(dāng)于一個小編譯器

其他語句查詢語句DML語句語法分析語義檢查視圖轉(zhuǎn)換數(shù)據(jù)庫數(shù)據(jù)字典DBMS內(nèi)層基本模塊庫單元組接口對可執(zhí)行的DBMS內(nèi)層基本存取模塊的調(diào)用序列多元組接口查詢優(yōu)化代碼生成12.4.1語言處理層的任務(wù)和工作(續(xù))束縛時間 編程時------執(zhí)行前------執(zhí)行時編程時-----已淘汰執(zhí)行時----解釋方法執(zhí)行前----預(yù)編譯方法12.4語言處理12.4.1語言處理層的任務(wù)和工作12.4.2解釋方法12.4.3預(yù)編譯方法12.4.2解釋方法特點(diǎn)執(zhí)行前,DML語句都以原始字符串的形式保存執(zhí)行時,解釋程序完成束縛過程,然后予以執(zhí)行優(yōu)點(diǎn)數(shù)據(jù)獨(dú)立性好靈活、應(yīng)變性好缺點(diǎn)效率比較低適用交互式SQL12.4語言處理12.4.1語言處理層的任務(wù)和工作12.4.2解釋方法12.4.3預(yù)編譯方法12.4.3預(yù)編譯方法不同束縛時間的權(quán)衡早:系統(tǒng)效率高,數(shù)據(jù)獨(dú)立性差晚:數(shù)據(jù)獨(dú)立性高,執(zhí)行效率差預(yù)編譯方法是介于上面二者之間的一個方案特點(diǎn)用戶提交DML語句后,運(yùn)行前對它進(jìn)行翻譯處理保存產(chǎn)生的執(zhí)行代碼運(yùn)行時,取出執(zhí)行代碼加以執(zhí)行

預(yù)編譯方法的問題應(yīng)用規(guī)劃失效(數(shù)據(jù)庫結(jié)構(gòu)改變、存取路徑改變)解決方法重編譯重編譯進(jìn)行時刻立即重編譯被執(zhí)行時才進(jìn)行自動重編譯自動重編譯技術(shù)的優(yōu)點(diǎn)既擁有了編譯時進(jìn)行束縛所帶來的高效率又具備了執(zhí)行時束縛帶來的數(shù)據(jù)獨(dú)立性12.4.3預(yù)編譯方法(續(xù))12.5數(shù)據(jù)存取層12.5數(shù)據(jù)存取層12.5.1數(shù)據(jù)存取層的系統(tǒng)結(jié)構(gòu)12.5.2數(shù)據(jù)存取層的功能子功能12.5.1數(shù)據(jù)存取層的系統(tǒng)結(jié)構(gòu)12.5數(shù)據(jù)存取層12.5.1數(shù)據(jù)存取層的系統(tǒng)結(jié)構(gòu)12.5.2數(shù)據(jù)存取層的功能子功能12.5.2數(shù)據(jù)存取層的功能子功能記錄存取、事務(wù)管理子系統(tǒng)日志登記子系統(tǒng)控制信息管理模塊排序\合并子系統(tǒng)存取路徑維護(hù)子系統(tǒng)封鎖子系統(tǒng)一、記錄存取、事務(wù)管理子系統(tǒng)記錄存取子系統(tǒng)在某個存取路徑上按屬性值找元組(FIND)按相對位置找元組(NEXT,PRIOR,F(xiàn)IRST,LAST)。給某關(guān)系增加一個元組(INSERT)從找到的元組中取某個屬性值(GET)從某關(guān)系中刪去一個元組(DELETE)把某修改完的元組寫回關(guān)系中(REPLACE)

事務(wù)管理子系統(tǒng)定義事務(wù)開始(BEGINTRANSACTION)事務(wù)提交(COMMIT)事務(wù)回滾(ROLLBACK)二、日志登記子系統(tǒng)寫日志記錄(WRITELOG)讀日志記錄(READLOG)掃描日志文件(SCANLOG)撤消尚未結(jié)束的事務(wù)(UNDO)重做已經(jīng)結(jié)束的事務(wù)(REDO)

三、控制信息管理模塊負(fù)責(zé)在內(nèi)存數(shù)據(jù)區(qū)登記記錄類型、存取路徑的說明信息和控制信息。四、排序/合并子系統(tǒng)輸出有序結(jié)果刪去重復(fù)值支持排序–合并方法的連接操作支持動態(tài)建立索引結(jié)構(gòu)減少數(shù)據(jù)塊的存取次數(shù)五、存取路徑維護(hù)子系統(tǒng)對數(shù)據(jù)執(zhí)行插入、刪除、修改操作的同時對相應(yīng)的存取路徑進(jìn)行維護(hù)B+樹的維護(hù)算法

初始建立B+樹索引插入刪除更新7.封鎖子系統(tǒng)12.6緩沖區(qū)管理數(shù)據(jù)存儲層的功能

緩沖區(qū)管理內(nèi)外存交換外存管理系統(tǒng)緩沖區(qū)設(shè)立的原因

提供DBMS的設(shè)備獨(dú)立性

外存設(shè)備的變更不會對它們造成影響提高存取效率異步讀寫:預(yù)先讀,延遲寫

12.6緩沖區(qū)管理(續(xù))系統(tǒng)緩沖區(qū)的組

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論