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