《數(shù)據(jù)庫管理系統(tǒng)》PPT課件.ppt_第1頁
《數(shù)據(jù)庫管理系統(tǒng)》PPT課件.ppt_第2頁
《數(shù)據(jù)庫管理系統(tǒng)》PPT課件.ppt_第3頁
《數(shù)據(jù)庫管理系統(tǒng)》PPT課件.ppt_第4頁
《數(shù)據(jù)庫管理系統(tǒng)》PPT課件.ppt_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第4章數(shù)據(jù)庫管理系統(tǒng),4.1數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu)4.2數(shù)據(jù)庫管理系統(tǒng)的運(yùn)行過程4.3事務(wù)4.3DBMS的進(jìn)程結(jié)構(gòu)4.5DBMS的系統(tǒng)結(jié)構(gòu)4.6DBMS和第四代應(yīng)用開發(fā)環(huán)境4.7數(shù)據(jù)目錄4.8數(shù)據(jù)庫物理組織,4.1數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu),數(shù)據(jù)庫管理系統(tǒng)(DBMS)是整個數(shù)據(jù)庫系統(tǒng)的核心。DBMS最基本的功能是正確、可靠、安全地執(zhí)行數(shù)據(jù)庫語言。即DBMS可以看成是數(shù)據(jù)庫語言的一個實(shí)現(xiàn)。與一般程序設(shè)計語言一樣,DBMS也有編譯和解釋兩種實(shí)現(xiàn)方式。圖4-1:一個解釋執(zhí)行的RDBMS的層次結(jié)構(gòu),4.2數(shù)據(jù)庫管理系統(tǒng)的運(yùn)行過程,DBMS是一個有機(jī)的整體,應(yīng)該用動態(tài)的觀點(diǎn)看待DBMS各個功能模塊。一個應(yīng)用程序或用戶通過DBMS讀取數(shù)據(jù)庫中數(shù)據(jù)的過程如下所示:用戶A向DBMS發(fā)出調(diào)用數(shù)據(jù)庫數(shù)據(jù)的命令。如SELECT命令。命令中給出了一個關(guān)系名和查找條件。DBMS先對命令進(jìn)行語法檢查。通過后進(jìn)行語義檢查和用戶存取權(quán)限檢查。DBMS讀取數(shù)據(jù)字典,檢查是否存在該關(guān)系及相應(yīng)的字段,該用戶能否讀取它們等。確認(rèn)語義正確、存取權(quán)限合法后便決定執(zhí)行該命令。否則拒絕執(zhí)行,返回錯誤信息。DBMS執(zhí)行查詢優(yōu)化(要依據(jù)數(shù)據(jù)字典中的信息),并把該命令轉(zhuǎn)換成一串單記錄的存取操作序列。DBMS執(zhí)行存取操作序列(反復(fù)執(zhí)行以下各步,直至結(jié)束)。DBMS首先在緩沖區(qū)中查找記錄,若找到滿足條件的記錄則轉(zhuǎn)到10,否則轉(zhuǎn)到6。,4.2數(shù)據(jù)庫管理系統(tǒng)的運(yùn)行過程,DBMS查看存儲模式,決定從哪個文件,用什么方式讀取哪個物理記錄。DBMS根據(jù)6的結(jié)果,向操作系統(tǒng)發(fā)出讀取記錄的命令。操作系統(tǒng)執(zhí)行讀數(shù)據(jù)的有關(guān)操作。操作系統(tǒng)將數(shù)據(jù)從數(shù)據(jù)庫的存儲區(qū)送至系統(tǒng)緩沖區(qū)。DBMS根據(jù)查詢命令和數(shù)據(jù)字典的內(nèi)容導(dǎo)出用戶所要讀取的記錄格式。DBMS將數(shù)據(jù)記錄從系統(tǒng)緩沖區(qū)傳送到程序A的用戶工作區(qū)。DBMS將執(zhí)行狀態(tài)信息,如成功讀取或不成功的錯誤指示、例外狀態(tài)信息等,返回給應(yīng)用程序A。,4.3事務(wù),1.事務(wù)的定義所謂事務(wù)(Transaction)是用戶定義的一個操作序列,這些操作是一個不可分割的工作單位,即要么全做要么全不做,(allornothing)。事務(wù)的開始與結(jié)束可以由用戶顯式控制。如果用戶沒有顯式地定義事務(wù),則由DBMS按缺省規(guī)定自動劃分事務(wù)。在SQL語言中,定義事務(wù)的語句有三條:BEGINTRANSACTIONCOMMITROLLBACK,4.3事務(wù),1.事務(wù)的定義(續(xù))事務(wù)通常是以BEGINTRANSACTION開始,以COMMIT或ROLLBACK結(jié)束。COMMIT表示提交,即提交事務(wù)的所有操作。具體地說就是將事務(wù)中所有對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中去,事務(wù)正常結(jié)束。ROLLBACK表示回滾,即在事務(wù)運(yùn)行的過程中發(fā)生了某種故障,事務(wù)不能繼續(xù)執(zhí)行,系統(tǒng)將事務(wù)中對數(shù)據(jù)庫的所有已完成的操作全部撤消,滾回到事務(wù)開始時的狀態(tài)。這里的操作指對數(shù)據(jù)庫的更新操作。,4.3事務(wù),1.事務(wù)的性質(zhì)事務(wù)具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續(xù)性(Durability)。這個四個特性也簡稱為ACID特性。1原子性事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。2一致性事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。因此當(dāng)數(shù)據(jù)庫只包含成功事務(wù)提交的結(jié)果時,就說數(shù)據(jù)庫處于一致性狀態(tài)。如果數(shù)據(jù)庫系統(tǒng)運(yùn)行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,系統(tǒng)將事務(wù)中對數(shù)據(jù)庫的所有已完成的操作全部撤消,滾回到事務(wù)開始時的一致狀態(tài)。,4.3事務(wù),1.事務(wù)的性質(zhì)(續(xù))3隔離性一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。4持續(xù)性持續(xù)性也稱永久性(Permanence),指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。,4.4DBMS的進(jìn)程結(jié)構(gòu),應(yīng)用程序通過DBMS,DBMS通過OS,與數(shù)據(jù)庫中的數(shù)據(jù)打交道。根據(jù)三者的關(guān)系,一般有下述四種進(jìn)程組織方案:N方案:DBMS與應(yīng)用程序相融合在這種方案中,N個DB用戶僅需N個進(jìn)程,DBMS作為應(yīng)用程序的子程序被連入應(yīng)用程序中,成為應(yīng)用程序的一部分,因此這種方案也稱為連入式方案。2.2N方案:一個用戶進(jìn)程對應(yīng)一個DBMS進(jìn)程每個用戶進(jìn)程均有一個DBMS進(jìn)程為之服務(wù),我們稱這種DBMS進(jìn)程為影子(Shadow)進(jìn)程。在這種方案中,有N個用戶進(jìn)程就要啟動N個DBMS進(jìn)程(共2N個進(jìn)程),因此這種進(jìn)程結(jié)構(gòu)方案稱為2N方案。,4.4DBMS的進(jìn)程結(jié)構(gòu),3.N+1方案:一個DBMS進(jìn)程對應(yīng)所有用戶進(jìn)程進(jìn)程結(jié)構(gòu)的另一種組織方式是整個DBMS僅使用一個進(jìn)程,該進(jìn)程的行為類似于一個服務(wù)器(Server)。多個數(shù)據(jù)庫用戶向Server發(fā)消息以申請數(shù)據(jù)庫服務(wù)。Server要用自己的機(jī)制來調(diào)度這些申請,以支持一個多任務(wù)的數(shù)據(jù)庫系統(tǒng)。由于N個用戶僅需要一個DBMS進(jìn)程,因此我們稱這種進(jìn)程結(jié)構(gòu)方案為N+1方案。4.N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程,4.5DBMS和第四代應(yīng)用開發(fā)環(huán)境,應(yīng)該指出,DBMS本身并不能全部解決數(shù)據(jù)管理的問題,DBMS的設(shè)計目標(biāo)也不是要解決所有問題。這些問題包括數(shù)據(jù)的存儲、訪問、處理和表示等等。DBMS提供了豐富的數(shù)據(jù)管理的基本功能。以DBMS這些功能為核心,可以進(jìn)一步開發(fā)高層的軟件系統(tǒng),如報表書寫、屏幕表格軟件、菜單生成系統(tǒng)、圖形顯示系統(tǒng)等等,從而構(gòu)成了一組內(nèi)部相互聯(lián)系的DBMS家族,為用戶提供了一個良好的第四代應(yīng)用開發(fā)環(huán)境。這些軟件系統(tǒng)拓廣了數(shù)據(jù)庫的應(yīng)用領(lǐng)域,大大提高了應(yīng)用開發(fā)的生產(chǎn)率。,4.6DBMS的系統(tǒng)結(jié)構(gòu),分時系統(tǒng)環(huán)境下的集中式系統(tǒng)結(jié)構(gòu)網(wǎng)絡(luò)環(huán)境下的客戶/服務(wù)器結(jié)構(gòu)物理上分布邏輯上集中的分布式數(shù)據(jù)庫結(jié)構(gòu)物理上分布、邏輯上分布的分布式數(shù)據(jù)庫結(jié)構(gòu),4.7數(shù)據(jù)目錄,數(shù)據(jù)目錄(Catalog或Directory)是一組關(guān)于數(shù)據(jù)的數(shù)據(jù),也稱為元數(shù)據(jù)(meta-data)DBMS的功能是管理大量的、共享的、持久的數(shù)據(jù)。有關(guān)這些數(shù)據(jù)的定義和描述也需要長期保存在系統(tǒng)種。關(guān)系數(shù)據(jù)庫中數(shù)據(jù)字典的組織通常與數(shù)據(jù)本身的組織相同。數(shù)據(jù)字典按不同的內(nèi)容在邏輯上組織為若干張表或視圖。數(shù)據(jù)字典的特點(diǎn)是數(shù)據(jù)量比較?。ㄅc數(shù)據(jù)本身比)、使用頻繁,因為任何數(shù)據(jù)庫操作都要參照數(shù)據(jù)字典的內(nèi)容。,4.7數(shù)據(jù)庫物理組織,數(shù)據(jù)庫是大量數(shù)據(jù)的有結(jié)構(gòu)的綜合性的集合。如何將這樣一個龐大的數(shù)據(jù)集合以最優(yōu)的形式組織起來存放在外存上是一個非常重要的問題。所謂“優(yōu)”應(yīng)包括兩方面:一是存儲效率高,節(jié)省存儲空間;二是存取效率高,速度快,代價小。數(shù)據(jù)庫實(shí)現(xiàn)的基礎(chǔ)是文件,對數(shù)據(jù)庫的任何操作最終要轉(zhuǎn)化為對文件的操作。所以在數(shù)據(jù)庫物理組織中,基本的問題是如何設(shè)計文件組織或者利用操作系統(tǒng)提供的基本的文件組織方法。數(shù)據(jù)庫系統(tǒng)是文件系統(tǒng)的發(fā)展。文件系統(tǒng)中每個文件存儲同質(zhì)實(shí)體的數(shù)據(jù),各文件是孤立的,沒有體現(xiàn)實(shí)體之間的聯(lián)系。數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的物理組織必須體現(xiàn)實(shí)體之間的聯(lián)系,支持?jǐn)?shù)據(jù)庫的邏輯結(jié)構(gòu)-各種數(shù)據(jù)模型。因此數(shù)據(jù)庫中要存儲四個方面的數(shù)據(jù):(1)數(shù)據(jù)描述。即數(shù)據(jù)外模式、模式、內(nèi)模式。(2)數(shù)據(jù)本身。(3)數(shù)據(jù)之間的聯(lián)系。(4)存取路徑。,4.7數(shù)據(jù)庫物理組織,上述這四個方面的數(shù)據(jù)內(nèi)容都要采用一定的文件組織方式組織、存儲起來。數(shù)據(jù)字典(DD)的組織數(shù)據(jù)字典按不同的內(nèi)容在邏輯上組織為若干張表(圖11.9),在物理上就對應(yīng)若干文件而不是一個文件。由于每個文件中存放數(shù)據(jù)量不大,可簡單地用順序文件來組織。數(shù)據(jù)及數(shù)據(jù)聯(lián)系的組織關(guān)于數(shù)據(jù)自身的組織,DBMS可以根據(jù)數(shù)據(jù)和處理的要求自己設(shè)計文件結(jié)構(gòu),也可以從操作系統(tǒng)提供的文件結(jié)構(gòu)中選擇合適的加以實(shí)現(xiàn)。目前,操作系統(tǒng)提供的常用文件結(jié)構(gòu)有:順序文件、索引文件、索引順序文件、HASH文件(雜湊文件)和B樹類文件等等。數(shù)據(jù)庫中數(shù)據(jù)組織與數(shù)據(jù)之間聯(lián)系是緊密結(jié)合的。在數(shù)據(jù)的組織和存儲中必須直接或間接、顯示或隱含地體現(xiàn)數(shù)據(jù)之間的聯(lián)系,這是數(shù)據(jù)庫物理組織中主要考慮和設(shè)計的內(nèi)容。,4.N+M方案:M個DBMS進(jìn)程對應(yīng)N個用戶進(jìn)程N(yùn)+M方案采用M個DBMS進(jìn)程為N個用戶進(jìn)程提供服務(wù)(一般MN)。N+M方案基于的指導(dǎo)思想是:用戶進(jìn)程可能并不總是同時提出數(shù)據(jù)庫請求,一個用戶一個DBMS進(jìn)程的方案太浪費(fèi)了,幾個用戶輪流使用一個DBMS服務(wù)進(jìn)程也許會節(jié)約一些。在該方案中,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)程)。DBMS進(jìn)程的分派由分派程序完成。分派程序可以是一個單獨(dú)的后臺進(jìn)程,也可以將其代碼連入用戶程序(APi)中。分派程序通過SGA管理用戶的數(shù)據(jù)庫請求隊列,并分配

溫馨提示

  • 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

提交評論