版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理講義主講教師:馮建華清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系2005.04. 3010/1/20221數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理講義主講教師:馮建華9/26/20數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理教師簡(jiǎn)介:馮建華,副教授,計(jì)算機(jī)系軟件研究所數(shù)據(jù)庫研究組教師。1986年進(jìn)入清華大學(xué)計(jì)算機(jī)系學(xué)習(xí),1993年獲得清華大學(xué)計(jì)算機(jī)系工學(xué)碩士學(xué)位之后留校工作至今。辦公室電話:62789150(東主樓10區(qū)204)E-MAIL地址:10/1/20222數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理教師簡(jiǎn)介:9/26/20222數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理為什么要學(xué)習(xí)數(shù)據(jù)庫?應(yīng)用:廣泛,無處不在系統(tǒng):打開黑匣子select t1.f1, t2.f2 fro
2、m t1,t2 where t1.f2=t2.f3你對(duì)數(shù)據(jù)庫系統(tǒng)了解多少?10/1/20223數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理為什么要學(xué)習(xí)數(shù)據(jù)庫?9/26/20223數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理什么是數(shù)據(jù)庫?所謂數(shù)據(jù)庫就是指一組相互有關(guān)聯(lián)的數(shù)據(jù)集合,英文稱Database,簡(jiǎn)稱DB。什么是數(shù)據(jù)庫管理系統(tǒng)?而數(shù)據(jù)庫管理系統(tǒng)是由數(shù)據(jù)庫和一組用于訪問這些數(shù)據(jù)的程序組成,英文稱Database Management System,簡(jiǎn)稱DBMS。什么是關(guān)聯(lián)?結(jié)構(gòu)化數(shù)據(jù):層次、網(wǎng)狀、關(guān)系、對(duì)象;半結(jié)構(gòu)化數(shù)據(jù):OEM、XML;非結(jié)構(gòu)化數(shù)據(jù)。10/1/20224數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理什么是數(shù)據(jù)庫?9/26/20224數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)
3、與原理什么是數(shù)據(jù)庫系統(tǒng)?口語中常說的“數(shù)據(jù)庫系統(tǒng)”在大多數(shù)時(shí)候都是指DBMS;但是嚴(yán)格地來說,數(shù)據(jù)庫系統(tǒng)(Database System, DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫之后的系統(tǒng):一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)及其開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員(Database Administrator, DBA)和最終用戶構(gòu)成。即:DBS = DB + DBMS + Application + DBA + End User10/1/20225數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理什么是數(shù)據(jù)庫系統(tǒng)?9/26/20225數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理DBMS涉及到的問題數(shù)據(jù)庫管理系統(tǒng)是為了管理大量、復(fù)雜的數(shù)據(jù)。對(duì)數(shù)據(jù)的管理既涉及
4、到存:數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的定義?。簲?shù)據(jù)操作機(jī)制的提供如果數(shù)據(jù)被多用戶共享,那么DBMS還必須設(shè)法避免可能產(chǎn)生的異常結(jié)果,即并發(fā)控制;如果系統(tǒng)發(fā)生故障,那么DBMS必須保證將數(shù)據(jù)恢復(fù)到故障發(fā)生前的狀態(tài),即故障恢復(fù);DBMS還必須保證所存儲(chǔ)數(shù)據(jù)的安全性,不被非法訪問和操作,即訪問控制10/1/20226數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理DBMS涉及到的問題9/26/20226數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理講課內(nèi)容:引言索引和散列ER模型查詢處理關(guān)系模型10事務(wù)11并發(fā)控制完整性約束12數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)數(shù)據(jù)庫的物理設(shè)計(jì)13新的應(yīng)用及擴(kuò)展存儲(chǔ)結(jié)構(gòu)和文件結(jié)構(gòu)考試(開卷)10/1/20227數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理講課內(nèi)容:9/26/2
5、0227數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理10/1/20228數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理9/26/20228數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理教學(xué)安排:5月13日-7月8日周五晚上正常上課,每周課內(nèi)4個(gè)學(xué)時(shí);7月9日補(bǔ)課一天;7月15日周五晚上的最后一節(jié)課考試:開卷考試,時(shí)間2小時(shí),占期末總成績(jī)的80;實(shí)驗(yàn)作業(yè),5分,考試時(shí)同試卷一起交在SQL Server 2000或其他數(shù)據(jù)庫系統(tǒng)中利用具體的實(shí)例測(cè)試與觸發(fā)器有關(guān)的數(shù)據(jù)庫選項(xiàng)和參數(shù)的設(shè)置情況;大作業(yè),15分,考試時(shí)同試卷一起交具體內(nèi)容后面介紹;10/1/20229數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理教學(xué)安排:9/26/20229數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理大作業(yè)(15分,考試時(shí)同試卷一起交):結(jié)合你
6、自己參與設(shè)計(jì)與實(shí)現(xiàn)的一個(gè)實(shí)際應(yīng)用系統(tǒng),完成一份該應(yīng)用系統(tǒng)數(shù)據(jù)庫部分的設(shè)計(jì)報(bào)告。具體內(nèi)容如下:應(yīng)用系統(tǒng)的目的應(yīng)用系統(tǒng)的數(shù)據(jù)需求應(yīng)用系統(tǒng)的功能需求應(yīng)用系統(tǒng)的性能要求應(yīng)用系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)E-R圖主要的表結(jié)構(gòu)、視圖和索引有關(guān)的存儲(chǔ)過程和觸發(fā)器數(shù)據(jù)的放置與劃分對(duì)該系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的評(píng)價(jià)是否滿足各種需求(數(shù)據(jù)、功能、性能)有哪些優(yōu)缺點(diǎn)10/1/202210數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理大作業(yè)(15分,考試時(shí)同試卷一起交):9數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理授課教材數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理,第1版馮建華、周立柱清華大學(xué)出版社本書的內(nèi)容根據(jù)授課教師歷年的講義修改而成;主要參考教材SQL Server數(shù)據(jù)庫原理-設(shè)計(jì)與實(shí)現(xiàn)周立柱、馮建華、
7、孟小峰、陳立軍、楊冬青、王珊等清華大學(xué)出版社深而精,是難得的一本介紹DBMS實(shí)現(xiàn)技術(shù)的書。10/1/202211數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理授課教材9/26/202211數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理主要參考教材DATABASE SYSTEM CONCEPTS,Third Edition,數(shù)據(jù)庫系統(tǒng)概念A(yù)braham Silberschatz,Henry F.Korth & S. Sudarshan;楊冬青等翻譯;機(jī)械工業(yè)出版社本書的缺點(diǎn)是太貴,英文影印版RMB65元,翻譯過來的中文版RMB49元。但內(nèi)容較新穎,基礎(chǔ)性的內(nèi)容非常全面,難度不大,容易理解。第4版也已經(jīng)出版!10/1/202212數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原
8、理主要參考教材9/26/202212數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理其他參考教材數(shù)據(jù)庫管理系統(tǒng),第3版Raghu Ramakrishnan & Johannes Gehrke,周立柱等翻譯;清華大學(xué)出版社這兩位作者分別來自威斯康星和康奈爾大學(xué)。本書的內(nèi)容非常新穎、全面、深入,且有一定的難度,適合咱們清華的學(xué)生學(xué)習(xí)。10/1/202213數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理其他參考教材9/26/202213數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理其他參考教材數(shù)據(jù)庫系統(tǒng)全書Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom著,岳麗華、楊冬青等翻譯;機(jī)械工業(yè)出版社本書是美國斯坦福大學(xué)計(jì)算
9、機(jī)系CS145和CS245兩門課的教材,內(nèi)容新穎、全面,而且有深度。中文版價(jià)格為65元RMB。10/1/202214數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理其他參考教材9/26/202214數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理其他參考教材數(shù)據(jù)庫系統(tǒng)概論,第3版薩師煊、王珊高等教育出版社該書的內(nèi)容與第二版相比有了很大的改動(dòng),價(jià)格適中,每本28元RMB。10/1/202215數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理其他參考教材9/26/202215數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理課程概況(請(qǐng)參閱教材的附錄):課程信息教師信息課程簡(jiǎn)介學(xué)習(xí)目標(biāo)學(xué)生要求學(xué)習(xí)要求重點(diǎn)與難點(diǎn)學(xué)習(xí)安排教材、參考書及其他參考資料知識(shí)結(jié)構(gòu)圖10/1/202216數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理課程概況(請(qǐng)參
10、閱教材的附錄):9/26/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較10/1/202217數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較9/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較CS145,數(shù)據(jù)庫簡(jiǎn)介:對(duì)數(shù)據(jù)庫設(shè)計(jì)與數(shù)據(jù)庫管理系統(tǒng)的使用進(jìn)行基本的介紹。內(nèi)容包括關(guān)系模型和XML(包括XML的查詢語言Xpath和XQuery)以及SQL (創(chuàng)建、查詢以及更新關(guān)系數(shù)據(jù)庫或?qū)ο?關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言);關(guān)系代數(shù)、基于函數(shù)依賴與范式的關(guān)系設(shè)計(jì)原則以及數(shù)據(jù)庫設(shè)計(jì)的實(shí)體-聯(lián)系方法和面向?qū)ο蠓椒ǎ黄渌麊栴}包括索引、視圖、事務(wù)、權(quán)限和完整性約束以及觸發(fā)器;由數(shù)據(jù)倉儲(chǔ)、數(shù)
11、據(jù)挖掘、OQL(Object Query Language,它是SQL的基于對(duì)象的版本)、Datalog(一種類似Prolog的語言,可用作數(shù)據(jù)庫的查詢語言)、時(shí)態(tài)數(shù)據(jù)庫、中間件以及peer-to-peer(對(duì)等網(wǎng)絡(luò))系統(tǒng)引出的幾個(gè)高級(jí)專題。 10/1/202218數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較9/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較CS245,數(shù)據(jù)庫系統(tǒng)原理:主要內(nèi)容包括文件組織和訪問、緩沖區(qū)管理、性能分析和存儲(chǔ)管理;數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)、查詢優(yōu)化、事務(wù)管理、故障恢復(fù)和并發(fā)控制;可靠性、保護(hù)及完整性;設(shè)計(jì)與管理問題。CS345,數(shù)據(jù)庫系統(tǒng)高級(jí)專題:
12、數(shù)據(jù)庫系統(tǒng)和信息系統(tǒng)領(lǐng)域里的高級(jí)專題,每次講課的內(nèi)容都會(huì)有所不同,如數(shù)據(jù)倉庫、聯(lián)機(jī)分析處理和數(shù)據(jù)挖掘等。10/1/202219數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較9/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較CS346,數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn):一個(gè)主要的數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)項(xiàng)目,實(shí)現(xiàn)前面課程所覆蓋的基本原理和技術(shù)。利用文件結(jié)構(gòu),通過查詢處理(要有學(xué)生個(gè)人的設(shè)計(jì)特征和擴(kuò)展),學(xué)生要獨(dú)立構(gòu)建一個(gè)完整的數(shù)據(jù)庫管理系統(tǒng)。講課主要集中于項(xiàng)目的細(xì)節(jié)和數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)中的高級(jí)技術(shù),核心內(nèi)容集中在查詢處理和優(yōu)化。來自工業(yè)界的客坐教師都是商用數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)技術(shù)方面的專家。10/1/20
13、2220數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較9/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較CS347,事務(wù)處理和分布式數(shù)據(jù)庫:主要介紹分布式數(shù)據(jù)庫的原理和系統(tǒng)組織。內(nèi)容包括數(shù)據(jù)劃分和分布、分布式數(shù)據(jù)設(shè)計(jì)、查詢處理和優(yōu)化、分布式并發(fā)控制、可靠性和提交協(xié)議以及重復(fù)數(shù)據(jù)管理;數(shù)據(jù)管理的分布式算法:時(shí)鐘、死鎖檢測(cè)、互斥;異構(gòu)和聯(lián)邦分布式數(shù)據(jù)庫系統(tǒng);商用系統(tǒng)和研究原型概論。 10/1/202221數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較9/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較CS395,數(shù)據(jù)庫獨(dú)立項(xiàng)目:專門為計(jì)算機(jī)系的研究生開設(shè)的課程
14、。利用數(shù)據(jù)庫管理系統(tǒng)開發(fā)實(shí)際的應(yīng)用,或者是利用文件系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)庫管理系統(tǒng)的某一部分。最后要完成必要的分析和性能評(píng)價(jià)報(bào)告。CS545,數(shù)據(jù)庫研究研討班:展示數(shù)據(jù)庫系統(tǒng)和信息系統(tǒng)領(lǐng)域的當(dāng)前研究以及工業(yè)界的動(dòng)向。10/1/202222數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較9/數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較,清華計(jì)算機(jī)系的現(xiàn)狀如下:將CS145和CS245合二為一:30240262;Stanford將這兩門課的教材合并為“數(shù)據(jù)庫系統(tǒng)全書”!CS345這類課程沒有,只是在本課程的最后,在有時(shí)間的情況下介紹一點(diǎn),李絹?zhàn)覦ata MiningCS346這類課程已經(jīng)
15、設(shè)置,即課程B34:專業(yè)專題訓(xùn)練(不得少于4學(xué)分),包括計(jì)算機(jī)網(wǎng)絡(luò)(必選1)、操作系統(tǒng)(選2)、編譯原理(選2)和數(shù)據(jù)庫(選2)專題訓(xùn)練;CS347和CS395合并為分布式數(shù)據(jù)庫周立柱;CS545這類課程沒有,但是10/1/202223數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理與Stanford大學(xué)數(shù)據(jù)庫課程比較,清數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理第部分?jǐn)?shù)據(jù)庫設(shè)計(jì)(第章第章)10/1/202224數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與原理9/26/202224第章引言講課內(nèi)容:DBMS的目的數(shù)據(jù)庫語言數(shù)據(jù)視圖查詢處理器數(shù)據(jù)模型存儲(chǔ)管理器DBMS總體結(jié)構(gòu)磁盤存儲(chǔ)器數(shù)據(jù)庫用戶商業(yè)數(shù)據(jù)庫系統(tǒng)10/1/202225第章引言講課內(nèi)容:9/26/2022251
16、.1DBMS的目的數(shù)據(jù)管理的進(jìn)展數(shù)據(jù)管理隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展而不斷發(fā)展,40多年來經(jīng)歷了以下三個(gè)階段:人工管理階段:50年代中期以前;文件系統(tǒng)階段:50年代后期到60年代中期之間;數(shù)據(jù)庫系統(tǒng)階段:60年代后期開始10/1/2022261.1DBMS的目的數(shù)據(jù)管理的進(jìn)展9/26/2022261.1DBMS的目的文件處理系統(tǒng)在DBMS出現(xiàn)以前,把需要管理的數(shù)據(jù)存放在永久性的操作系統(tǒng)文件中,同時(shí)為了能夠操作這些文件里的數(shù)據(jù),系統(tǒng)里還有針對(duì)這些文件編寫的應(yīng)用程序:文件 + 程序文件處理系統(tǒng)是由源源不斷的數(shù)據(jù)文件和程序混合而成,由此產(chǎn)生了很多問題!10/1/2022271.1DBMS的目的文件處理
17、系統(tǒng)9/26/2022271.1DBMS的目的在文件處理系統(tǒng)中存儲(chǔ)數(shù)據(jù)的弊端數(shù)據(jù)冗余和不一致數(shù)據(jù)訪問困難:文件格式不同、復(fù)雜數(shù)據(jù)孤立完整性問題原子性問題并發(fā)訪問問題安全性問題要解決這些問題,就必須開發(fā)通用的數(shù)據(jù)檢索系統(tǒng)表達(dá)和實(shí)現(xiàn)約束對(duì)數(shù)據(jù)的訪問進(jìn)行邏輯管理:事務(wù)對(duì)數(shù)據(jù)進(jìn)行訪問控制,對(duì)事務(wù)進(jìn)行并發(fā)控制10/1/2022281.1DBMS的目的在文件處理系統(tǒng)中存儲(chǔ)數(shù)據(jù)的弊端9/261.1DBMS的目的數(shù)據(jù)庫管理系統(tǒng)的提出數(shù)據(jù)庫管理系統(tǒng)就是為了解決上面提到的和未提到的在文件處理系統(tǒng)中存在的問題;由于這些問題的存在,使得數(shù)據(jù)庫管理系統(tǒng)提出了很多新的概念和算法,加速了數(shù)據(jù)庫管理系統(tǒng)的發(fā)展;數(shù)據(jù)庫管理系統(tǒng)
18、是一個(gè)平臺(tái)軟件,在用戶數(shù)據(jù)未知和不斷發(fā)生變化的情況下,平臺(tái)軟件中的數(shù)據(jù)管理程序不發(fā)生任何變化,這大大地提高了數(shù)據(jù)的獨(dú)立性,使得應(yīng)用程序的開發(fā)也簡(jiǎn)單、獨(dú)立、快速!10/1/2022291.1DBMS的目的數(shù)據(jù)庫管理系統(tǒng)的提出9/26/20221.2數(shù)據(jù)視圖數(shù)據(jù)庫管理系統(tǒng)的一個(gè)主要作用就是隱藏關(guān)于數(shù)據(jù)存儲(chǔ)和維護(hù)的某些細(xì)節(jié),再者用戶也沒有必要了解數(shù)據(jù)庫中用來表示數(shù)據(jù)的復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。但可以為用戶提供數(shù)據(jù)在不同層次上的抽象,即不同的使用者從不同的角度去觀察數(shù)據(jù)庫中的數(shù)據(jù)所得到的結(jié)果。數(shù)據(jù)抽象實(shí)例和模式數(shù)據(jù)獨(dú)立性10/1/2022301.2數(shù)據(jù)視圖數(shù)據(jù)庫管理系統(tǒng)的一個(gè)主要作用就是隱藏關(guān)于數(shù)據(jù)1.2數(shù)據(jù)視
19、圖數(shù)據(jù)抽象數(shù)據(jù)庫管理系統(tǒng)通過如下幾個(gè)層次的抽象來向用戶屏蔽復(fù)雜性,簡(jiǎn)化系統(tǒng)的用戶界面:物理層:最低層次的抽象,描述數(shù)據(jù)是如何存儲(chǔ)的。它描述復(fù)雜的底層數(shù)據(jù)結(jié)構(gòu),是學(xué)者和開發(fā)DBMS的供應(yīng)商研究的事情;(Oracle)邏輯層:比物理層稍高層次的抽象,描述數(shù)據(jù)庫中存儲(chǔ)什么數(shù)據(jù)以及這些數(shù)據(jù)間存在什么關(guān)系。數(shù)據(jù)庫管理員和數(shù)據(jù)庫應(yīng)用開發(fā)人員必須確定數(shù)據(jù)庫中應(yīng)該保存哪些信息;(計(jì)算中心)視圖層:也叫概念層,是最高層次的抽象,但它只描述整個(gè)數(shù)據(jù)庫的一小部分,系統(tǒng)可以為同一數(shù)據(jù)庫提供多個(gè)視圖。(教師學(xué)生職員)10/1/2022311.2數(shù)據(jù)視圖數(shù)據(jù)抽象9/26/2022311.2數(shù)據(jù)視圖數(shù)據(jù)抽象的三個(gè)層次視圖1
20、視圖2視圖3視圖n.邏輯層物理層10/1/2022321.2數(shù)據(jù)視圖數(shù)據(jù)抽象的三個(gè)層次視圖1視圖2視圖3視圖n.與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比用一種類Pascal語言定義如下記錄類型:type course = recordcourse_number:string;course_name:string;course_location:string;course_capacity:string; end;student:student_number、student_name; teacher:有teacher_number、teacher_name和teacher_age三個(gè)字段。1.2數(shù)據(jù)視
21、圖10/1/202233與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比1.2數(shù)據(jù)視圖9/26/21.2數(shù)據(jù)視圖與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比物理層course、student和teacher等記錄都被描述為由連續(xù)的存儲(chǔ)位置,如字節(jié),組成的存儲(chǔ)塊。程序設(shè)計(jì)語言的編譯器為編程人員屏蔽了這一層的細(xì)節(jié)。與此類似,數(shù)據(jù)庫管理系統(tǒng)為數(shù)據(jù)庫程序設(shè)計(jì)人員屏蔽了許多底層的存儲(chǔ)細(xì)節(jié)。10/1/2022341.2數(shù)據(jù)視圖與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比9/26/21.2數(shù)據(jù)視圖與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比邏輯層正如前面的代碼所示,在程序設(shè)計(jì)語言中,每個(gè)這樣的記錄通過類型定義進(jìn)行描述。程序設(shè)計(jì)人員正是在這個(gè)抽象層次上使用某種
22、高級(jí)語言進(jìn)行工作。與此類似,數(shù)據(jù)庫管理員和數(shù)據(jù)庫程序員也在這個(gè)抽象層次上工作。如: create table course ( course_namevarchar(30), course_numberchar(18), course_locationvarchar(50), course_capacityint )10/1/2022351.2數(shù)據(jù)視圖與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比9/26/21.2數(shù)據(jù)視圖與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比視圖層計(jì)算機(jī)用戶最終看見的是為其屏蔽了數(shù)據(jù)類型細(xì)節(jié)的一組應(yīng)用程序(界面)。與此類似,視圖層上數(shù)據(jù)庫管理系統(tǒng)也定義了數(shù)據(jù)庫的多個(gè)視圖,數(shù)據(jù)庫用戶看到的是這些視
23、圖-部分實(shí)際數(shù)據(jù)。除了屏蔽數(shù)據(jù)庫的邏輯層細(xì)節(jié)外,視圖還提供了防止用戶訪問數(shù)據(jù)庫某些部分的安全機(jī)制。例如,能看到課程信息的學(xué)生用戶就不能夠訪問教師的個(gè)人信息。數(shù)據(jù)庫系統(tǒng)概論,CS001,四教4402,180varchar, 3010/1/2022361.2數(shù)據(jù)視圖與程序設(shè)計(jì)語言中數(shù)據(jù)類型概念類比va1.2數(shù)據(jù)視圖實(shí)例和模式數(shù)據(jù)庫中的數(shù)據(jù)會(huì)隨時(shí)發(fā)生變化,特定時(shí)刻存儲(chǔ)在數(shù)據(jù)庫中的信息集合稱作數(shù)據(jù)庫的一個(gè)實(shí)例。而數(shù)據(jù)庫的總體設(shè)計(jì),即數(shù)據(jù)庫的樣子,稱作數(shù)據(jù)庫模式,數(shù)據(jù)庫模式不會(huì)頻繁地發(fā)生變化;前面只定義了course類型而沒有定義任何變量:var course1:course;/定義一個(gè)變量變量cour
24、se1對(duì)應(yīng)于一塊包含course類型記錄的存儲(chǔ)區(qū)域。與此類似,數(shù)據(jù)庫模式與程序設(shè)計(jì)語言中的數(shù)據(jù)類型相對(duì)應(yīng);程序設(shè)計(jì)語言中,給定類型的一個(gè)變量在特定的時(shí)刻有具體的值。因此,程序設(shè)計(jì)語言中變量的值對(duì)應(yīng)于數(shù)據(jù)庫模式的一個(gè)實(shí)例。10/1/2022371.2數(shù)據(jù)視圖實(shí)例和模式9/26/2022371.2數(shù)據(jù)視圖實(shí)例和模式根據(jù)前面討論的數(shù)據(jù)抽象層次的不同,數(shù)據(jù)庫模式又可分為:物理模式:即數(shù)據(jù)庫在物理層的總體設(shè)計(jì),又稱內(nèi)模式;邏輯模式:即數(shù)據(jù)庫在邏輯層的總體設(shè)計(jì),通常簡(jiǎn)稱為“模式”;視圖模式:即數(shù)據(jù)庫在視圖層或概念層的總體設(shè)計(jì),又稱子模式或外模式;通常,數(shù)據(jù)庫管理系統(tǒng)支持一個(gè)物理模式、一個(gè)邏輯模式和多個(gè)視圖
25、模式。(TS Info)10/1/2022381.2數(shù)據(jù)視圖實(shí)例和模式9/26/2022381.2數(shù)據(jù)視圖數(shù)據(jù)獨(dú)立性在某個(gè)層次上修改數(shù)據(jù)庫的模式定義而不影響位于其上層模式的能力叫做數(shù)據(jù)獨(dú)立性。有兩個(gè)層次的數(shù)據(jù)獨(dú)立性:物理數(shù)據(jù)獨(dú)立性:是指修改數(shù)據(jù)庫的物理模式而不必重寫應(yīng)用程序的能力;邏輯數(shù)據(jù)獨(dú)立性:是指修改數(shù)據(jù)庫的邏輯模式而不必重寫應(yīng)用程序的能力;為什么要修改數(shù)據(jù)庫的模式呢?為了提高性能,偶爾在物理層做一些修改;只要數(shù)據(jù)庫的邏輯結(jié)構(gòu)發(fā)生了變化,邏輯層就必須要做一些修改,這種修改是經(jīng)常的。10/1/2022391.2數(shù)據(jù)視圖數(shù)據(jù)獨(dú)立性9/26/2022391.2數(shù)據(jù)視圖數(shù)據(jù)獨(dú)立性邏輯數(shù)據(jù)獨(dú)立性比物
26、理數(shù)據(jù)獨(dú)立性更難作到,這是因?yàn)閼?yīng)用程序?qū)τ谒鼈兯L問的數(shù)據(jù)的邏輯結(jié)構(gòu)依賴性很大,應(yīng)用程序與邏輯層靠得更近一些;如應(yīng)用程序是基于數(shù)據(jù)庫的視圖層模式開發(fā)的,則邏輯數(shù)據(jù)獨(dú)立性就容易做到,只需要修改邏輯層到視圖層的映射關(guān)系;數(shù)據(jù)獨(dú)立性的概念同現(xiàn)代程序設(shè)計(jì)語言中的抽象數(shù)據(jù)類型的概念類似,兩者都為用戶屏蔽了數(shù)據(jù)內(nèi)部的具體實(shí)現(xiàn)細(xì)節(jié)。10/1/2022401.2數(shù)據(jù)視圖數(shù)據(jù)獨(dú)立性9/26/2022401.3數(shù)據(jù)模型概述數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)就是數(shù)據(jù)模型,它是描述數(shù)據(jù)(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)語義即數(shù)據(jù)操作,以及一致性(完整性)約束的概念工具的集合?;趯?duì)象的邏輯模型數(shù)據(jù)模型基于記錄的邏輯模型網(wǎng)狀模型層次模
27、型關(guān)系模型面向?qū)ο竽P蛯?shí)體聯(lián)系模型(邏輯層和概念層)邏輯數(shù)據(jù)模型物理數(shù)據(jù)模型(物理層)10/1/2022411.3數(shù)據(jù)模型概述基于對(duì)象的邏輯模型數(shù)據(jù)模型基于記錄的邏輯1.3數(shù)據(jù)模型實(shí)體聯(lián)系模型(E-R模型)該模型是這樣認(rèn)識(shí)現(xiàn)實(shí)世界的:現(xiàn)實(shí)世界是由一組稱作實(shí)體的基本對(duì)象以及這些對(duì)象間的聯(lián)系構(gòu)成;實(shí)體是現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的一個(gè)“事件”或一個(gè)“物體”。例如每個(gè)學(xué)生是一個(gè)實(shí)體,每門課程也是一個(gè)實(shí)體。實(shí)體通過相關(guān)的屬性集合來描述。例如,學(xué)生的學(xué)號(hào)student_number和姓名student_name屬性描述了大學(xué)里某個(gè)特定的學(xué)生;聯(lián)系是實(shí)體間的相互關(guān)聯(lián)。例如selecting這個(gè)選課聯(lián)系將一
28、個(gè)學(xué)生和他她所選的課程關(guān)聯(lián)起來;同一類型的所有實(shí)體的集合稱作實(shí)體集,同一類型所有聯(lián)系的集合稱作聯(lián)系集;E-R模型主要用于在概念層上描述數(shù)據(jù)。10/1/2022421.3數(shù)據(jù)模型實(shí)體聯(lián)系模型(E-R模型)9/26/20221.3數(shù)據(jù)模型實(shí)體聯(lián)系模型(E-R模型)E-R模型還可以表示出數(shù)據(jù)庫必須遵循的特定約束-映射基數(shù),它表示一個(gè)實(shí)體集中的實(shí)體通過某聯(lián)系集能與另一實(shí)體集中的實(shí)體進(jìn)行關(guān)聯(lián)的實(shí)體數(shù)目;數(shù)據(jù)庫的總體概念結(jié)構(gòu)可以用E-R圖來表示。E-R圖由以下元素構(gòu)成:矩形:代表實(shí)體集橢圓:代表屬性菱形:代表實(shí)體間的聯(lián)系集線段:將屬性與實(shí)體集相連或?qū)?shí)體集與聯(lián)系集相連圖中的每個(gè)成分都標(biāo)上它所代表的實(shí)體集或
29、聯(lián)系集的名稱,具體的E-R圖示例如下。10/1/2022431.3數(shù)據(jù)模型實(shí)體聯(lián)系模型(E-R模型)9/26/2022實(shí)體聯(lián)系模型(E-R模型)E-R圖示例1.3數(shù)據(jù)模型10/1/202244實(shí)體聯(lián)系模型(E-R模型)1.3數(shù)據(jù)模型9/26/20221.3數(shù)據(jù)模型基于記錄的數(shù)據(jù)模型該類模型主要在邏輯層上描述數(shù)據(jù),用來定義數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)。而基于對(duì)象的數(shù)據(jù)模型主要用來描述數(shù)據(jù)庫的概念結(jié)構(gòu);該類數(shù)據(jù)模型名稱的由來是由于它用一些固定格式的記錄來描述數(shù)據(jù)庫的邏輯結(jié)構(gòu)。每個(gè)記錄類型定義了固定數(shù)目的字段,通常每個(gè)字段的長(zhǎng)度也是固定的?;谟涗浀臄?shù)據(jù)模型主要有:關(guān)系模型10/1/2022451.3數(shù)據(jù)模
30、型基于記錄的數(shù)據(jù)模型9/26/2022451.3數(shù)據(jù)模型關(guān)系模型關(guān)系模型用表的集合來表示數(shù)據(jù)和數(shù)據(jù)間的聯(lián)系。每個(gè)表有多個(gè)列,每列有唯一的列名10/1/2022461.3數(shù)據(jù)模型關(guān)系模型9/26/2022461.3數(shù)據(jù)模型網(wǎng)狀模型網(wǎng)狀模型中的數(shù)據(jù)用記錄(與Pascal語言中的記錄含義相同)的集合來表示,數(shù)據(jù)間的聯(lián)系用鏈接(可看作指針)來表示。數(shù)據(jù)庫中的記錄可被組織成任意圖的集合。10/1/2022471.3數(shù)據(jù)模型網(wǎng)狀模型9/26/2022471.3數(shù)據(jù)模型層次模型與網(wǎng)狀模型類似,層次模型也用記錄和鏈接來表示數(shù)據(jù)和數(shù)據(jù)間的聯(lián)系;與網(wǎng)狀模型不同的是:層次模型中的記錄只能組織成樹的集合而不能是任意圖
31、的集合。10/1/2022481.3數(shù)據(jù)模型層次模型9/26/2022481.3數(shù)據(jù)模型基于記錄的三種模型的差別關(guān)系模型與網(wǎng)狀模型及層次模型的不同的地方在于關(guān)系模型不使用指針或鏈接,而通過記錄所包含的值把數(shù)據(jù)聯(lián)系起來。10/1/2022491.3數(shù)據(jù)模型基于記錄的三種模型的差別9/26/202241.3數(shù)據(jù)模型物理數(shù)據(jù)模型物理數(shù)據(jù)模型用于在最底層,即物理層上描述數(shù)據(jù)。與邏輯數(shù)據(jù)模型不同,實(shí)際使用中的物理數(shù)據(jù)模型較少。常用的兩種物理數(shù)據(jù)模型是:一致化模型框架存儲(chǔ)模型物理數(shù)據(jù)模型同數(shù)據(jù)庫管理系統(tǒng)的具體實(shí)現(xiàn)密切相關(guān),這是開發(fā)DBMS的數(shù)據(jù)庫廠商最為關(guān)心的事情。本課程對(duì)這部分內(nèi)容不進(jìn)行深入討論。10/
32、1/2022501.3數(shù)據(jù)模型物理數(shù)據(jù)模型9/26/2022501.3數(shù)據(jù)模型數(shù)據(jù)模型的可理解性人對(duì)現(xiàn)實(shí)世界的認(rèn)知與計(jì)算機(jī)對(duì)現(xiàn)實(shí)世界的認(rèn)知:人的認(rèn)知模型?概念模型邏輯模型物理模型人能理解的模型?計(jì)算機(jī)可以理解的模型?模型的可理解性與現(xiàn)實(shí)世界及計(jì)算機(jī)的距離?人和計(jì)算機(jī)都可以理解的模型?建筑與土木數(shù)學(xué)與計(jì)算機(jī)10/1/2022511.3數(shù)據(jù)模型數(shù)據(jù)模型的可理解性人的認(rèn)知模型?概念模型人能1.4DBMS總體結(jié)構(gòu)DBMS在計(jì)算機(jī)中的位置DBMS劃分為不同的模塊,每個(gè)模塊完成一定功能;DBMS的部分功能由計(jì)算機(jī)的操作系統(tǒng)提供。通常,計(jì)算機(jī)操作系統(tǒng)提供最基本的服務(wù):即文件服務(wù);設(shè)計(jì)DBMS時(shí)必須考慮到DB
33、MS與操作系統(tǒng)接口的靈活性和可移植性。10/1/2022521.4DBMS總體結(jié)構(gòu)DBMS在計(jì)算機(jī)中的位置9/26/21.4DBMS總體結(jié)構(gòu)DBMS、文件系統(tǒng)和磁盤記錄或頁10/1/2022531.4DBMS總體結(jié)構(gòu)DBMS、文件系統(tǒng)和磁盤記錄或頁9/1.4DBMS總體結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)磁盤存儲(chǔ)器用戶應(yīng)用界面索引統(tǒng)計(jì)數(shù)據(jù)數(shù)據(jù)文件數(shù)據(jù)字典應(yīng)用程序交互查詢數(shù)據(jù)庫模式應(yīng)用程序目標(biāo)碼嵌入式DML預(yù)編譯器DML編譯器DDL解釋器查詢計(jì)算引擎事務(wù)管理器緩沖區(qū)管理器文件管理器查詢處理器存儲(chǔ)管理器權(quán)限及完整性管理器日志10/1/2022541.4DBMS總體結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)磁盤用戶應(yīng)用界面索引統(tǒng)1.4DBM
34、S總體結(jié)構(gòu)DBMS的主要部件查詢處理器:關(guān)系引擎存儲(chǔ)管理器:存儲(chǔ)引擎其次就是DBMS的物質(zhì)基礎(chǔ)磁盤存儲(chǔ)器:必要的數(shù)據(jù)結(jié)構(gòu)當(dāng)然處于最頂層的就是DBMS用戶DBA:一個(gè)特殊的用戶,負(fù)責(zé)對(duì)DBMS進(jìn)行集中的管理與控制,它就是數(shù)據(jù)庫管理員-DBA-Database Administrator;普通用戶:除DBA之外的其他用戶還可以通過應(yīng)用程序和交互式的查詢語言,即數(shù)據(jù)庫語言等手段訪問數(shù)據(jù)庫中的數(shù)據(jù)。10/1/2022551.4DBMS總體結(jié)構(gòu)DBMS的主要部件9/26/20221.5數(shù)據(jù)庫語言概述數(shù)據(jù)庫管理系統(tǒng)提供兩種不同類型的語言,一種用于定義數(shù)據(jù)庫的邏輯模式、訪問方式和存儲(chǔ)結(jié)構(gòu);另一種用于表達(dá)數(shù)據(jù)
35、庫的查詢和更新:數(shù)據(jù)定義語言(DDL-Data Definition Language)數(shù)據(jù)操縱語言(DML-Data Manipulation Language)10/1/2022561.5數(shù)據(jù)庫語言概述9/26/2022561.5數(shù)據(jù)庫語言數(shù)據(jù)定義語言數(shù)據(jù)庫模式通過一系列定義來說明,這些定義由稱作DDL的一種特殊語言來表達(dá),如create table;DDL語句編譯執(zhí)行的結(jié)果是填寫一系列存儲(chǔ)在一個(gè)特殊文件中的系統(tǒng)表,該特殊文件稱作數(shù)據(jù)字典;數(shù)據(jù)字典是一個(gè)包含元數(shù)據(jù)的文件,元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù)。在DBMS中,實(shí)際讀取和修改數(shù)據(jù)前總要先查詢?cè)撐募?;DBMS所使用的存儲(chǔ)結(jié)構(gòu)和訪問方式也是通過一
36、系列特殊的DDL語句,如:create cluster、create index來定義的,這種特殊的DDL語句稱作數(shù)據(jù)存儲(chǔ)定義語言。編譯的結(jié)果是一系列用來描述數(shù)據(jù)庫模式實(shí)現(xiàn)細(xì)節(jié)的指令,對(duì)用戶來說是不可見的。10/1/2022571.5數(shù)據(jù)庫語言數(shù)據(jù)定義語言9/26/2022571.5數(shù)據(jù)庫語言數(shù)據(jù)操縱語言數(shù)據(jù)操縱是指:S:對(duì)存儲(chǔ)在數(shù)據(jù)庫中的信息進(jìn)行檢索I:向數(shù)據(jù)庫中插入新的信息D:從數(shù)據(jù)庫中刪除信息U:修改存儲(chǔ)在數(shù)據(jù)庫中的信息數(shù)據(jù)抽象的層次不僅適用于定義數(shù)據(jù)和組織數(shù)據(jù),還適用于對(duì)數(shù)據(jù)的操縱:在物理層,數(shù)據(jù)操縱必須定義可以高效訪問數(shù)據(jù)的算法;在較高的抽象層次上,強(qiáng)調(diào)數(shù)據(jù)的易用性,目的是要提供人與
37、系統(tǒng)間的有效交互。10/1/2022581.5數(shù)據(jù)庫語言數(shù)據(jù)操縱語言9/26/2022581.5數(shù)據(jù)庫語言數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言通常有兩類:過程化的DML:要求用戶指定需要什么數(shù)據(jù)以及如何獲得這些數(shù)據(jù);非過程化的DML:只要求用戶指定需要什么數(shù)據(jù),而不必指明如何獲得這些數(shù)據(jù);通常非過程化的DML比過程化的DML要簡(jiǎn)單,且易學(xué)易用,但效率可能要差一些;從數(shù)據(jù)庫中選擇和綜合數(shù)據(jù)的過程就是查詢。DML中涉及查詢的部分稱作查詢語言。但實(shí)際上在數(shù)據(jù)操縱語言中不把查詢語言嚴(yán)格區(qū)分出來,而籠統(tǒng)地稱為數(shù)據(jù)查詢語言。10/1/2022591.5數(shù)據(jù)庫語言數(shù)據(jù)操縱語言9/26/2022591.5數(shù)據(jù)庫語言數(shù)據(jù)庫
38、語言小結(jié)DDL:數(shù)據(jù)模式定義語言數(shù)據(jù)存儲(chǔ)定義語言DML:操縱過程:過程化的DML非過程化的DML操縱方式:數(shù)據(jù)查詢語言數(shù)據(jù)更新語言10/1/2022601.5數(shù)據(jù)庫語言數(shù)據(jù)庫語言小結(jié)9/26/2022601.6查詢處理器概述查詢處理器部件主要由四部分組成,它們分別是:DML編譯器(包括查詢優(yōu)化)嵌入式DML預(yù)編譯器DDL解釋器查詢計(jì)算引擎10/1/2022611.6查詢處理器概述9/26/2022611.6查詢處理器DML編譯器負(fù)責(zé)將查詢語言中的DML語句翻譯成查詢計(jì)算引擎能理解的低級(jí)指令,并力圖將用戶的請(qǐng)求轉(zhuǎn)換成一個(gè)等價(jià)的但效率更高的表達(dá)式形式,以找到執(zhí)行查詢的更好策略,這就是DBMS的主要
39、功能-查詢優(yōu)化;DDL解釋器負(fù)責(zé)解釋DDL語句并將其記錄到包含元數(shù)據(jù)的一系列系統(tǒng)表中;查詢計(jì)算引擎負(fù)責(zé)執(zhí)行由DML編譯器產(chǎn)生的低級(jí)指令。10/1/2022621.6查詢處理器DML編譯器9/26/2022621.6查詢處理器嵌入式DML預(yù)編譯器DML調(diào)用嵌套在高級(jí)程序設(shè)計(jì)語言(在這里也叫宿主語言)里,如C、Pascal和Cobol等等;為了區(qū)分宿主語言中的DML調(diào)用,常常以一個(gè)特殊的字符串作為DML調(diào)用的前導(dǎo),如EXEC SQL;嵌入式DML預(yù)編譯器,如Oracle數(shù)據(jù)庫中的Pro*C:PCC、Sybase數(shù)據(jù)庫中的sqlpp等,將嵌入在宿主語言中的DML語句轉(zhuǎn)化成宿主語言中普通的過程調(diào)用和函
40、數(shù)調(diào)用;嵌入式DML預(yù)編譯器必須同DML編譯器共同發(fā)揮作用,才能保證產(chǎn)生正確的程序代碼;預(yù)編譯所產(chǎn)生的程序再通過宿主語言的編譯器產(chǎn)生正確的目標(biāo)代碼來運(yùn)行。10/1/2022631.6查詢處理器嵌入式DML預(yù)編譯器9/26/2022631.6查詢處理器數(shù)據(jù)庫編程接口當(dāng)然數(shù)據(jù)庫管理系統(tǒng)也支持在宿主語言中像調(diào)用宿主語言的普通函數(shù)和過程一樣直接調(diào)用那些訪問數(shù)據(jù)庫的函數(shù)和過程。例如dblogin、dbopen、dbexec、dbclose和dblogout等。而且這是實(shí)際中最常用的數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)方法之一;例如,Sybase數(shù)據(jù)庫中的DB-Library/C;Oracle中的Oracle調(diào)用接口OC
41、I(Oracle Call Interface)等等,這就是我們常說的數(shù)據(jù)庫API。10/1/2022641.6查詢處理器數(shù)據(jù)庫編程接口9/26/2022641.7存儲(chǔ)管理器概述存儲(chǔ)管理器是為存儲(chǔ)在數(shù)據(jù)庫底層的數(shù)據(jù)與應(yīng)用程序及向系統(tǒng)提交的查詢之間提供接口的程序模塊;原始數(shù)據(jù)通過文件系統(tǒng)存儲(chǔ)在磁盤上,文件系統(tǒng)通常由操作系統(tǒng)提供;存儲(chǔ)管理器將經(jīng)過查詢處理器編譯的不同的DML語句的代碼再次翻譯成底層的文件系統(tǒng)命令;總之,存儲(chǔ)管理器負(fù)責(zé)數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)的存儲(chǔ)、檢索和更新。10/1/2022651.7存儲(chǔ)管理器概述9/26/2022651.7存儲(chǔ)管理器存儲(chǔ)管理器部件權(quán)限及完整性管理器:檢查是否滿足完
42、整性約束,檢查試圖訪問數(shù)據(jù)的用戶的權(quán)限;事務(wù)管理器:保證即使發(fā)生了故障,數(shù)據(jù)庫也是一致的(正確的)(故障恢復(fù));保證并發(fā)事務(wù)的執(zhí)行不發(fā)生沖突(并發(fā)控制);文件管理器:管理磁盤空間的分配,管理用于表示數(shù)據(jù)庫所存儲(chǔ)信息的數(shù)據(jù)結(jié)構(gòu);緩沖區(qū)管理器:負(fù)責(zé)將數(shù)據(jù)從磁盤取到內(nèi)存中來,并決定哪些數(shù)據(jù)應(yīng)被緩沖存儲(chǔ)在內(nèi)存里,即緩沖區(qū)的替換策略。10/1/2022661.7存儲(chǔ)管理器存儲(chǔ)管理器部件9/26/2022661.7存儲(chǔ)管理器事務(wù)的概念數(shù)據(jù)庫應(yīng)用中完成單一邏輯功能的操作集合,是一個(gè)既具原子性又具一致性的邏輯執(zhí)行單元;事務(wù)的特征(ACID)關(guān)于事務(wù)的原子性問題在前面的資金轉(zhuǎn)賬例子中已經(jīng)提到:幾個(gè)操作要么都完成
43、要么根本不發(fā)生;資金轉(zhuǎn)賬還必須保持?jǐn)?shù)據(jù)庫的一致性,也就是說錢的總數(shù)應(yīng)該保持不變(銀行轉(zhuǎn)帳的手續(xù)費(fèi)例子),這種對(duì)數(shù)據(jù)庫值的正確性要求稱作一致性;當(dāng)資金轉(zhuǎn)賬成功結(jié)束后,不管發(fā)生什么事情,包括系統(tǒng)故障,賬戶A和賬戶B的錢數(shù)也應(yīng)該保持不變,這種對(duì)數(shù)據(jù)庫的值保持不變的要求稱作持久性。10/1/2022671.7存儲(chǔ)管理器事務(wù)的概念9/26/2022671.7存儲(chǔ)管理器事務(wù)的一致性IF 事務(wù)執(zhí)行前數(shù)據(jù)庫是一致的在事務(wù)執(zhí)行的過程中允許暫時(shí)的不一致,但此時(shí)發(fā)生故障或并發(fā)執(zhí)行將產(chǎn)生問題:故障恢復(fù)和并發(fā)控制來保證一致性!THEN 事務(wù)成功執(zhí)行后數(shù)據(jù)庫也應(yīng)是一致的事務(wù)本身的定義應(yīng)使數(shù)據(jù)庫保持一致性,這是由程序員在定義事務(wù)時(shí)保證的;事務(wù)的原子性和持久性則是由DBMS自己保證的,具體地說是事務(wù)管理器和故障恢復(fù)管理器的責(zé)任。10/1/2022681.7存儲(chǔ)管理器事務(wù)的一致性9/26/2022681.7存儲(chǔ)管理器事務(wù)的隔離性當(dāng)多個(gè)事務(wù)同時(shí)執(zhí)行時(shí),即使每個(gè)單獨(dú)的事務(wù)都正確執(zhí)行完畢,數(shù)據(jù)的一致性也可能遭到破壞,怎么辦?DBMS的并發(fā)控制管理器就是用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44626.2-2025微細(xì)氣泡技術(shù)表征用樣品中氣泡消除方法第2部分:消除技術(shù)
- 物業(yè)管理與維修操作規(guī)范(標(biāo)準(zhǔn)版)
- 2025年企業(yè)財(cái)務(wù)報(bào)表分析與應(yīng)用手冊(cè)
- 財(cái)務(wù)報(bào)告編制與審查制度
- 辦公室員工培訓(xùn)計(jì)劃執(zhí)行制度
- 辦公室辦公用品采購與審批制度
- 2026年重慶遠(yuǎn)達(dá)煙氣治理特許經(jīng)營有限公司科技分公司招聘?jìng)淇碱}庫及答案詳解一套
- 2026年重慶一國企招聘11人備考題庫完整參考答案詳解
- 2026年達(dá)拉特旗工人文化宮招聘?jìng)淇碱}庫帶答案詳解
- 2026年集美區(qū)雙嶺小學(xué)產(chǎn)假頂崗教師招聘?jìng)淇碱}庫及答案詳解參考
- 2025年煤礦安全規(guī)程新增變化條款考試題庫及答案
- 2025年教師師德師風(fēng)自查問題清單及整改措施范文
- 2026年廣東農(nóng)墾火星農(nóng)場(chǎng)有限公司公開招聘作業(yè)區(qū)管理人員備考題庫及參考答案詳解
- 養(yǎng)老護(hù)理服務(wù)的法律監(jiān)管與執(zhí)法
- 降排水應(yīng)急預(yù)案(3篇)
- 隧道施工清包合同(3篇)
- 圍手術(shù)期疼痛的動(dòng)物模型與轉(zhuǎn)化研究
- 八年級(jí)地理長(zhǎng)江流域綜合教學(xué)設(shè)計(jì)方案
- 工業(yè)旅游綜合規(guī)劃與管理手冊(cè)
- 國家安全生產(chǎn)十五五規(guī)劃
- 代位追償培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論