版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第四章 數(shù)據(jù)庫管理系統(tǒng)引論,4.1 DBMS結(jié)構(gòu)簡介,數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,它對數(shù)據(jù)庫系統(tǒng)的功能和性能有決定性影響。 DBMS最基本的功能是正確、安全、可靠地執(zhí)行數(shù)據(jù)庫語言語句。圖4-1表示一個(gè)解釋執(zhí)行的關(guān)系DBMS的結(jié)構(gòu),可以從中了解DBMS的一般工作原理和主要組成部分。 與高級程序設(shè)計(jì)語言一樣,DBMS有兩種實(shí)現(xiàn)方法編譯和解釋。,圖41 DBMS結(jié)構(gòu),4.2 事務(wù)(transaction),事務(wù)是DBMS的執(zhí)行單位,由有限的數(shù)據(jù)庫操作序列組成,一般要求事務(wù)具備下列性質(zhì):,1.執(zhí)行的原子性(Atomic) 事務(wù)執(zhí)行時(shí)應(yīng)遵守“要么不做,要么全做” (nothing or
2、 all)的原則。,2.功能上的一致性(Consistency) 事務(wù)的作用應(yīng)使數(shù)據(jù)庫由一個(gè)一致狀態(tài)轉(zhuǎn)變到另一個(gè)一致狀態(tài)。,3.彼此的隔離性(Isolation) 如果多個(gè)事務(wù)并發(fā)執(zhí)行,應(yīng)像各個(gè)事務(wù)獨(dú)立執(zhí)行一樣。由“并發(fā)控制”保證。,4.作用的持久性(Durability) 一個(gè)成功執(zhí)行的事務(wù)對DB的影響應(yīng)是持久的,即使DB因故障受到破壞,也應(yīng)能恢復(fù)。,這四個(gè)性質(zhì)稱為事務(wù)的ACID準(zhǔn)則。,下面是一個(gè)事務(wù)的例子,它將款項(xiàng)由A賬戶撥給B賬戶。,示例,BEGIN TRAN read A AAS if A 0 then /* A款不足*/ begin display “A款不足” ROLLBACK /
3、*出口1*/ end else begin BB+S display “撥款完成” COMMIT /*出口2*/ end,ROLLBACK 撤銷事務(wù)的影響,相當(dāng)于“do nothing”,COMMIT 提交,相當(dāng)于“do all”。只有在COMMIT之后,事務(wù)對數(shù)據(jù)庫產(chǎn)生的變化才對其它事務(wù)開放。(為什么?),事務(wù)的出口:commit 或rollback 只有在執(zhí)行commit之后,事務(wù)對數(shù)據(jù)庫所產(chǎn)生的變化才對其他事務(wù)開放。 執(zhí)行commit命令時(shí),要封閉中斷,以防處理中斷時(shí)發(fā)生故障,COMMIT,中斷,處理中斷,發(fā)生故障,4.3 DBMS的進(jìn)程結(jié)構(gòu),DBMS進(jìn)程結(jié)構(gòu)的劃分主要著眼于結(jié)構(gòu)合理和性
4、能提高。 應(yīng)用進(jìn)程,系統(tǒng)進(jìn)程(可重入),應(yīng)用1,系統(tǒng),應(yīng)用2,系統(tǒng),不同,重復(fù),不劃分:,目前,多數(shù)DBMS把主要功能組成一個(gè)DBMS核心進(jìn)程,也有些DBMS除了核心進(jìn)程外,還把一些可以“緩辦”的公共操作組成幾個(gè)后臺服務(wù)進(jìn)程。 例如預(yù)讀取可能用到的物理塊,延遲寫入緩存中的內(nèi)容,網(wǎng)絡(luò)服務(wù)管理,撤銷事務(wù),清除異常結(jié)束的DBMS進(jìn)程等。這些進(jìn)程在DBMS啟動時(shí)就建立,為各個(gè)事務(wù)服務(wù)。,1.一個(gè)應(yīng)用進(jìn)程對應(yīng)一個(gè)DBMS核心進(jìn)程,下面主要考慮DBMS核心進(jìn)程的結(jié)構(gòu)方案:,缺點(diǎn): (1).進(jìn)程的創(chuàng)建、撤銷、通信和切換的開銷大。 (2).并發(fā)事務(wù)的增加,進(jìn)程數(shù)激增,內(nèi)存空間有限,性能下降。 (3).不利于事
5、務(wù)共享內(nèi)存空間。,優(yōu)點(diǎn):實(shí)現(xiàn)容易,2.單進(jìn)程多線程DBMS進(jìn)程結(jié)構(gòu),線程是現(xiàn)代OS引入的概念。,以線程為程序并發(fā)執(zhí)行的單位; 一個(gè)進(jìn)程中可創(chuàng)建多個(gè)可以相互切換的線程; 這些線程中至少有一個(gè)處于就緒狀態(tài),進(jìn)程才處于就緒狀態(tài); 進(jìn)程運(yùn)行時(shí),其中必有一個(gè)線程運(yùn)行; 同一進(jìn)程所屬的線程共享進(jìn)程占用的資源,屬于線程本身的專用資源很少,描述線程的狀態(tài)也比進(jìn)程要少,因此,線程所需資源比進(jìn)程少; 線程的切換開銷和線程間的通信開銷小。,單進(jìn)程多線程的DBMS中,系統(tǒng)只創(chuàng)建一個(gè)DBMS進(jìn)程(用戶接口仍然是進(jìn)程)。該進(jìn)程中有常駐的公共服務(wù)線程和應(yīng)用戶要求而創(chuàng)建的用戶線程。,在多處理機(jī)系統(tǒng)中,引入線程,增強(qiáng)了進(jìn)程的可
6、并發(fā)程度。,DBMS的并發(fā)執(zhí)行從進(jìn)程級改為線程級。,盡管很多現(xiàn)代OS的核心具有線程管理的功能,但對DBMS來說,還是在DBMS進(jìn)程(相對于OS,是用戶進(jìn)程)中實(shí)現(xiàn)線程為宜。理由如下:,(1)可以按照DBMS的需要確定線程調(diào)度策略;,(2)線程的切換在用戶態(tài),不必轉(zhuǎn)入操作系統(tǒng)的核心態(tài),切換開銷??;,(3)可以在不支持線程的操作系統(tǒng)上運(yùn)行,減少對操作系統(tǒng)的依賴,有利于提高操作系統(tǒng)的可移植性。,由DBMS管理線程,需要OS提供如下支持: (1).提供非阻塞I/O(Nonblocking I/O)和異步I/O(asynchronous I/O)功能; (2).支持“公平”調(diào)度(fair schedul
7、e);,即不把具有多線程的DBMS進(jìn)程,與其它進(jìn)程等同看待,應(yīng)區(qū)分輕重。,4.4 DBMS的系統(tǒng)結(jié)構(gòu),1.分時(shí)系統(tǒng)環(huán)境下的集中式數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 應(yīng)用的要求以及軟硬件條件決定了數(shù)據(jù)庫系統(tǒng)以集中為宜,數(shù)據(jù)庫建立在本單位的主要計(jì)算機(jī)上,用戶通過終端或遠(yuǎn)距離終端分時(shí)訪問。 數(shù)據(jù)及其管理都是集中的,數(shù)據(jù)庫系統(tǒng)的所有功能,從用戶接口到DBMS核心都集中在DBMS所在的計(jì)算機(jī)上。,2.網(wǎng)絡(luò)環(huán)境下的客戶/服務(wù)器結(jié)構(gòu),20世紀(jì)70年代:微機(jī)的出現(xiàn)和迅速發(fā)展;計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展和廣泛應(yīng)用,改變了計(jì)算機(jī)應(yīng)用系統(tǒng)的格局。,客戶機(jī)/服務(wù)器是一種特殊的分布式處理系統(tǒng)。其中,有一至多臺稱為客戶機(jī)的計(jì)算機(jī)和一至多臺稱為服務(wù)器的
8、計(jì)算機(jī)通過網(wǎng)絡(luò)聯(lián)接。,可以將DBMS的核心部分放在服務(wù)器中,而客戶機(jī)處理數(shù)據(jù)庫的接口部分??蛻魴C(jī)也可以有自己的局部DBMS。,客戶機(jī)面向用戶,接受任務(wù),并將任務(wù)中需要由服務(wù)器完成的部分委托服務(wù)器執(zhí)行。而服務(wù)器只接受客戶機(jī)的委托,完成特定的任務(wù),例如數(shù)據(jù)庫服務(wù)。因此,處理是分布的,數(shù)據(jù)卻是集中的,仍屬于集中式數(shù)據(jù)庫系統(tǒng)。,問題1: 網(wǎng)絡(luò)環(huán)境下的打印服務(wù)器、文件服務(wù)器屬于客戶/服務(wù)器結(jié)構(gòu)嗎?,不屬于,打印服務(wù)器、文件服務(wù)器的處理仍然是集中的。,問題2: 如果有多個(gè)數(shù)據(jù)庫服務(wù)器呢?還屬于集中式數(shù)據(jù)庫系統(tǒng)嗎?,即使系統(tǒng)中有多個(gè)數(shù)據(jù)庫服務(wù)器,也只是多個(gè)集中的數(shù)據(jù)庫,這些庫中的數(shù)據(jù)彼此獨(dú)立,其聯(lián)系只能由應(yīng)
9、用程序自己解決。,客戶器與服務(wù)器劃分界面的一般原則是:,(1)客戶提供用戶接口、執(zhí)行應(yīng)用程序,對服務(wù)器提出服務(wù)請求; (2)服務(wù)器只完成客戶器委托的公共服務(wù); (3)服務(wù)器與客戶器間的數(shù)據(jù)交換量要盡可能的少;,例如,MS SQL Server,Oracle,三層結(jié)構(gòu):,表示層,應(yīng)用層,DB,3.物理上分布、邏輯上集中的分布式數(shù)據(jù)庫結(jié)構(gòu) 數(shù)據(jù)共享和數(shù)據(jù)集中管理是數(shù)據(jù)庫的主要特征。隨著單位規(guī)模的擴(kuò)大和地理上的分散,集中式數(shù)據(jù)庫系統(tǒng)有如下缺點(diǎn):,通信開銷大 性能差,瓶頸 可用性差,由于存在這些缺點(diǎn),從20世紀(jì)70年代后期,開始了分布式數(shù)據(jù)庫系統(tǒng)的研究。,可擴(kuò)充性差 難以管理,物理上分布、邏輯上集中的
10、分布式數(shù)據(jù)庫結(jié)構(gòu)的思想是:把全局?jǐn)?shù)據(jù)模式按數(shù)據(jù)的來源和用途,合理分布在系統(tǒng)的多個(gè)節(jié)點(diǎn)上,使大部分的數(shù)據(jù)可以就近存取。 邏輯上,用戶看到的是一個(gè)數(shù)據(jù)模式為全局?jǐn)?shù)據(jù)模式的集中式數(shù)據(jù)庫。,缺點(diǎn):全局?jǐn)?shù)據(jù)模式很難設(shè)計(jì)、管理、擴(kuò)充和修改(類似高度集中的計(jì)劃經(jīng)濟(jì)難以管理)。,4.物理上分布、邏輯上分布的分布式數(shù)據(jù)庫結(jié)構(gòu),(事實(shí)上,對大范圍統(tǒng)一的邏輯幾乎不可能) 特點(diǎn): (1)節(jié)點(diǎn)自治 (2)沒有全局?jǐn)?shù)據(jù)模式,每個(gè)節(jié)點(diǎn)看到的數(shù)據(jù)模式: (1)本節(jié)點(diǎn)的數(shù)據(jù)模式 (2)供本節(jié)點(diǎn)共享的其它節(jié)點(diǎn)上有關(guān)的數(shù)據(jù)模式,沒有全局?jǐn)?shù)據(jù)模式,節(jié)點(diǎn)數(shù)據(jù)模式的修改甚至節(jié)點(diǎn)的加入、撤離 ,僅僅影響有關(guān)的節(jié)點(diǎn)。 這種分布式數(shù)據(jù)庫系統(tǒng)又稱為“聯(lián)邦式數(shù)據(jù)庫系統(tǒng)”(federated distributed database system)。,4.5 數(shù)據(jù)目錄,數(shù)據(jù)目錄(catalog)存放一組關(guān)于數(shù)據(jù)的數(shù)據(jù)(描述數(shù)據(jù)模式的數(shù)據(jù)),也叫元數(shù)據(jù)(meta-data)。 DBMS的任務(wù)是管理大量的、共享的、持久的數(shù)據(jù),有關(guān)這些數(shù)據(jù)的描述需長期保存,一般把這些元數(shù)據(jù)組成若干表,即數(shù)據(jù)目錄。,數(shù)據(jù)目錄中一般包含下列表: SYSTAB、SYSCOL、SYSIDX、SYSVIEW、SYSVWATR,數(shù)據(jù)目錄既是數(shù)據(jù),又不同于一般數(shù)據(jù), 數(shù)據(jù)目錄也是表,可供查詢,主要為DBMS服務(wù),數(shù)據(jù)目錄本身的定義和描述也包含在數(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖北科技職業(yè)學(xué)院單招職業(yè)技能考試參考題庫帶答案解析
- 外包服務(wù)協(xié)議(2025年IT支持)
- 2026年撫州幼兒師范高等??茖W(xué)校單招職業(yè)技能筆試參考題庫帶答案解析
- 2026年成都藝術(shù)職業(yè)大學(xué)高職單招職業(yè)適應(yīng)性測試備考試題有答案解析
- 2026年安徽工貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題有答案解析
- 投資合作協(xié)議(2025年股權(quán)項(xiàng)目)
- 2026年廣州體育職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試備考題庫帶答案解析
- 2026年福建信息職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題帶答案解析
- 2026年湖南城建職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題帶答案解析
- 2026年黑龍江司法警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫有答案解析
- 計(jì)算機(jī)應(yīng)用數(shù)學(xué)基礎(chǔ) 教學(xué) 作者 王學(xué)軍 計(jì)算機(jī)應(yīng)用數(shù)學(xué)課件 第10章 圖論
- DF6205電能量采集裝置用戶手冊-2
- 神經(jīng)內(nèi)科品管圈成果匯報(bào)-提高腦卒中偏癱患者早期自我肢體功能鍛煉規(guī)范執(zhí)行率
- 缺血性腦卒中靜脈溶栓護(hù)理
- 電子電路基礎(chǔ)-電子科技大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 四年級科學(xué)上冊期末試卷及答案-蘇教版
- 懷仁縣肉牛養(yǎng)殖產(chǎn)業(yè)化項(xiàng)目可行性研究報(bào)告
- DB51T 2875-2022彩燈(自貢)工藝燈規(guī)范
- 主要負(fù)責(zé)人重大危險(xiǎn)源安全檢查表
- 《工程經(jīng)濟(jì)學(xué)》模擬試題答案 東北財(cái)經(jīng)大學(xué)2023年春
- 2023-2024學(xué)年廣西壯族自治區(qū)來賓市小學(xué)數(shù)學(xué)五年級下冊期末自測試卷
評論
0/150
提交評論