本書系統闡述數據庫技術的核心軟件數據庫管理系統,詳細講解其基本功能、工作模式、系統結構和實現技術,并對新型數據庫管理系統予以介紹和展望,為有興趣的讀者指明研讀方向。全書共分為11章: 第1章緒論;第2章數據庫管理系統的數據組織與存儲;第3章DBMS數據定義、操縱與完整性約束;第4章查詢處理;第5章查詢優化;第6章事務;第7章并發控制;第8章數據庫安全;第9章數據庫恢復;第10章數據庫管理系統性能配置;第11章新型數據庫管理系統。
本書可以作為高等學校計算機類專業、信息管理與信息系統等相關專業本科生和研究生數據庫及相關課程的教材或教學參考書,也可供從事數據庫管理系統研究、開發和應用的人員參考。
數據庫管理系統已經成為繼操作系統之后*復雜的系統軟件。本書詳盡介紹了數據庫管理系統的體系結構、各大基本功能以及實現技術。本書可以做為院校師生的輔助教材,做為數據庫基礎原理的后繼學習資料,加深對握數據庫管理系統原理的理解;也可供數據庫管理員和數據庫系統開發人員參考,使他們從宏觀、總體的角度掌握數據庫管理系統的基本概念和基本原理,了解數據庫管理系統與操作系統之間的運作原理,以更好的使用和維護數據庫管理系統。
出版說明在我國高等教育逐步實現大眾化后,越來越多的高等學校將會面向國民經濟發展的第一線,為行業、企業培養各級各類高級應用型專門人才。為此,教育部已經啟動了高等學校教學質量和教學改革工程,強調要以信息技術為手段,深化教學改革和人才培養模式改革。如何根據社會的實際需要,根據各行各業的具體人才需求,培養具有特色顯著的人才,是我們共同面臨的重大問題。具體地,培養具有一定專業特色的和特定能力強的計算機專業應用型人才則是計算機教育要解決的問題。
為了適應21世紀人才培養的需要,培養具有特色的計算機人才,急需一批適合各種人才培養特點的計算機專業教材。目前,一些高校在計算機專業教學和教材改革方面已經做了大量工作,許多教師在計算機專業教學和科研方面已經積累了許多寶貴經驗。將他們的教研成果轉化為教材的形式,向全國其他學校推廣,對于深化我國高等學校的教學改革是一件十分有意義的事。
清華大學出版社在經過大量調查研究的基礎上,決定編寫出版一套普通高校本科計算機專業特色教材精選。本套教材是針對當前高等教育改革的新形勢,以社會對人才的需求為導向,主要以培養應用型計算機人才為目標,立足課程改革和教材創新,廣泛吸納全國各地的高等院校計算機優秀教師參與編寫,從中精選出版確實反映計算機專業教學方向的特色教材,供普通高等院校計算機專業學生使用。
本套教材具有以下特點:
1. 編寫目的明確
本套教材是深入研究各地各學校辦學特色的基礎上,面向普通高校的計算機專業學生編寫的。學生通過本套教材,主要學習計算機科學與技術專業的基本理論和基本知識,接受利用計算機解決實際問題的基本訓練,培養研究和開發計算機系統,特別是應用系統的基本能力。2. 理論知識與實踐訓練相結合
根據計算學科的三個學科形態及其關系,本套教材力求突出學科理論與實踐緊密結合的特征,結合實例講解理論,使理論來源于實踐,又進一步指導實踐得到自然的體現,使學生通過實踐深化對理論的理解,更重要的是使學生學會理論方法的實際運用。
3. 注意培養學生的動手能力
數據庫管理系統概論出版說明每種教材都增加了能力訓練部分的內容,學生通過學習和練習,能比較熟練地應用計算機知識解決實際問題。既注意培養學生分析問題的能力,也注重培養學生解決問題的能力,以適應新經濟時代對人才的需要,滿足就業要求。
4. 注重教材的立體化配套
大多數教材都將陸續配套教師用課件、習題及其解答提示,學生上機實驗指導等輔助教學資源,有些教材還提供能用于網上下載的文件,以方便教學。
由于各地區各學校的培養目標、教學要求和辦學特色均有所不同,所以對特色教學的理解也不盡一致,我們懇切希望大家在使用教材的過程中,及時地給我們提出批評和改進意見,以便我們做好教材的修訂改版工作,使其日趨完善。
我們相信經過大家的共同努力,這套教材一定能成為特色鮮明、質量上乘的優秀教材,同時,我們也希望通過本套教材的編寫出版,為高等學校教學質量和教學改革工程作出貢獻。
清華大學出版社前言數據庫管理系統是對數據進行存儲、管理、處理與維護的系統軟件,是數據庫技術的核心部分。隨著計算機硬件、軟件技術的迅速發展,數據庫技術在各行各業的廣泛應用以及大數據時代的到來,數據庫管理系統的理論與技術及其發展越來越成為計算機科學與技術教育中必不可少的部分。
本書詳細講述數據庫管理系統的基本概念、工作模式、體系結構、功能模塊組成以及主流實現技術;并介紹大數據時代下,數據庫管理系統發展的新興成果與方向。
全書分為11章,第1章對數據庫管理系統及其工作模式、系統結構與主要功能進行綜述;第2章講述數據庫管理系統的數據組織與存儲,包括記錄格式、文件格式、索引結構與實現技術;第3章講述數據庫管理系統的數據操縱與數據完整性約束;第4章講述查詢處理,包括查詢處理的一般步驟、選擇運算實現、排序與連接處理、表達式計算;第5章講述查詢優化,包括代數優化與物理優化;第6章講述數據庫管理系統運行與管理的基本單位事務;第7章講述并發控制,包括并發操作問題、并發事務調度的可串行化與可恢復性、并發控制主流技術,重點討論封鎖技術;第8章講述數據庫安全性控制,基于數據庫系統安全模型與數據庫管理系統安全控制模型討論自主存取控制、審計、強制存取控制、數據加密等DBMS安全性措施;第9章講述數據庫恢復,包括故障類型、恢復原理、恢復算法、最佳恢復算法ARIES以及容災備份機制等;第10章講述數據庫管理系統性能配置;第11章介紹新型數據庫管理系統,包括面向對象數據庫管理系統、對象關系數據庫管理系統、XML數據庫管理系統、大數據管理系統。
本書針對數據庫管理系統的內容詳細豐富,彌補了數據庫教學中對DBMS原理、實現技術與算法涉及不深的不足。讀者可以根據需要閱讀或者學習書中部分章節。數據庫管理系統概論全書由徐述組織與執筆。湖南城市學院習勝豐教授、譚新良教授、何騫博士參與編撰和校閱,并提出了許多寶貴意見;楊軼芳老師、汪彥老師給予了英文檢索與翻譯支持。在此也感謝家人特別是女兒的默默付出與支持!
限于水平,書中難免存在疏漏、欠妥之處,歡迎讀者批評指正。
徐述
2018年3月數據庫管理系統概論前言
目錄
第1章緒論1
1.1數據庫管理系統1
1.1.1數據庫管理系統概述1
1.1.2數據庫管理系統工作模式2
1.2數據庫管理系統結構3
1.2.1應用層4
1.2.2語言處理層4
1.2.3存儲管理層4
1.3語言處理層5
1.4存儲管理層7
1.4.1數據存取7
1.4.2緩沖區管理7
1.4.3數據存儲的物理組織8
1.5數據庫管理系統基本功能10
1.6小結11
思考題11
第2章數據庫管理系統的數據組織與存儲13
2.1數據庫系統存儲結構13
2.1.1數據庫磁盤存儲器中的數據結構13
2.1.2數據庫系統存儲介質16
2.1.3存儲介質層次結構18
2.2數據文件的記錄格式19
2.2.1定長記錄格式19
2.2.2變長記錄格式22數據庫管理系統概論目錄2.3數據文件格式23
2.3.1文件格式23
2.3.2順序文件24
2.3.3聚集文件25
2.4索引技術26
2.4.1索引基本概念26
2.4.2順序索引27
2.4.3輔助索引30
2.4.4索引的更新31
2.4.5索引的自動生成32
2.5B 樹索引文件32
2.5.1B 樹結構33
2.5.2B 樹的查詢34
2.5.3B 樹的更新35
2.5.4B 樹文件組織36
2.5.5B樹索引文件37
2.6散列索引文件38
2.6.1散列技術38
2.6.2靜態散列索引40
2.6.3可擴充散列結構42
2.7小結45
思考題46
第3章DBMS數據定義、操縱與完整性約束47
3.1SQL概述47
3.1.1數據定義語言48
3.1.2數據操縱語言48
3.1.3數據完整性控制48
3.1.4數據控制語言48
3.1.5事務管理48
3.1.6嵌入式SQL和動態SQL48
3.2項目工程公司數據庫49
3.3DBMS數據定義52
3.3.1模式的定義與刪除53
3.3.2基本表的定義、修改與刪除54
3.3.3視圖建立與刪除簡介57
3.3.4索引的建立、修改與刪除57
3.4DBMS數據操縱58
3.4.1數據查詢58
3.4.2數據更新67
3.4.3視圖69
3.5DBMS完整性約束74
3.5.1完整性概述74
3.5.2實體完整性75
3.5.3參照完整性77
3.5.4非空約束79
3.5.5唯一約束79
3.5.6CHECK約束80
3.5.7完整性約束命名80
3.5.8觸發器81
3.6小結84
思考題84
第4章查詢處理87
4.1概述87
4.2查詢的選擇運算實現89
4.2.1使用單文件掃描和索引的選擇89
4.2.2涉及比較的選擇91
4.2.3復合條件選擇92
4.3查詢的排序處理93
4.3.1外部歸并排序算法93
4.3.2外部歸并排序的代價分析94
4.4查詢的連接處理95
4.4.1嵌套循環算法95
4.4.2索引嵌套循環連接96
4.4.3歸并連接算法96
4.4.4散列連接算法98
4.5表達式計算101
4.5.1物化101
4.5.2流水線101
4.6小結102
思考題103
第5章查詢優化105
5.1概述105
5.2代數優化106
5.2.1關系代數表達式等價變換規則106
5.2.2基于啟發式規則的代數優化108
5.2.3代數優化實例109
5.3物理優化112
5.3.1基于啟發式規則的物理優化112
5.3.2基于代價估算的物理優化113
5.4基于語義的查詢優化113
5.5小結114
思考題114
第6章事務115
6.1事務的概念115
6.2事務的ACID性質116
6.3一個簡單的事務實例116
6.4事務抽象模型與狀態變遷118
6.5SQL中事務的存取模式和隔離級別120
6.6小結121
思考題121
第7章并發控制123
7.1事務的并發執行123
7.1.1事務并發執行的必要性123
7.1.2事務并發執行趨勢124
7.1.3并發操作帶來的問題124
7.1.4并發事務調度可串行化與可恢復性126
7.1.5并發控制技術133
7.2封鎖技術134
7.2.1封鎖類型134
7.2.2封鎖協議135
7.2.3兩段鎖協議138
7.2.4封鎖的實現141
7.3封鎖帶來的問題142
7.3.1活鎖142
7.3.2死鎖142
7.4多粒度封鎖145
7.4.1多粒度樹145
7.4.2意向鎖146
7.4.3多粒度封鎖協議148
7.5時間戳技術148
7.5.1時間戳148
7.5.2時間戳排序協議149
7.5.3改進的時間戳協議Thomas寫規則150
7.6多版本機制與快照隔離151
7.6.1多版本并發控制151
7.6.2多版本兩段鎖協議152
7.6.3快照隔離153
7.7幻行現象155
7.8小結157
思考題158
第8章數據庫安全159
8.1數據庫安全概述159
8.1.1威脅數據庫的安全因素159
8.1.2數據庫安全標準簡介160
8.2數據庫系統安全控制163
8.2.1數據庫系統安全模型163
8.2.2數據庫管理系統安全性控制模型163
8.2.3用戶身份標識與鑒別164
8.3存取控制概述165
8.3.1自主存取控制166
8.3.2強制存取控制172
8.4審計173
8.4.1審計事件173
8.4.2審計的作用174
8.4.3AUDIT語句和NOAUDIT語句174
8.4.4ORACLE的審計技術174
8.5數據加密175
8.5.1加密技術175
8.5.2數據庫中的加密支持176
8.6更高安全性保護177
8.6.1推理控制177
8.6.2隱蔽信道178
8.6.3數據隱私179
8.7小結179
思考題180
第9章數據庫恢復181
9.1故障類型181
9.1.1事務故障181
9.1.2系統故障182
9.1.3介質故障182
9.2恢復機制下的存儲器與數據訪問182
9.2.1存儲器種類182
9.2.2穩定存儲器的實現183
9.2.3事務數據訪問機制183
9.3恢復的基本原理與實現方法184
9.3.1恢復與事務原子性184
9.3.2日志恢復的基本原則與實現方法185
9.3.3影子復制恢復的基本原理185
9.4日志恢復技術186
9.4.1數據轉儲186
9.4.2日志文件格式187
9.4.3日志登記原則188
9.4.4使用日志重做和撤銷事務189
9.4.5檢查點191
9.5緩沖區管理192
9.5.1日志記錄緩沖192
9.5.2數據庫緩沖193
9.5.3模糊檢查點194
9.6恢復算法194
9.6.1事務故障恢復事務回滾195
9.6.2系統故障恢復195
9.6.3介質故障后的恢復197
9.7ARIES恢復技術197
9.7.1ARIES特點198
9.7.2ARIES數據結構198
9.7.3ARIES恢復算法200
9.7.4ARIES恢復算法特征202
9.8容災備份系統203
9.9小結205
思考題206
第10章數據庫管理系統性能配置207
10.1性能配置207
10.1.1瓶頸位置208
10.1.2硬件調整208
10.1.3數據庫系統參數調整210
10.1.4模式與事務調整210
10.2性能基準程序211
10.2.1任務集211
10.2.2數據庫應用類型212
10.2.3TPC基準測試213
10.3數據庫標準217
10.3.1SQL標準217
10.3.2數據庫連接標準218
10.3.3對象數據庫標準218
10.3.4XML標準218
10.4小結219
思考題219
第11章新型數據庫管理系統221
11.1數據庫管理系統發展的三個階段222
11.1.1第一代數據庫管理系統基于格式化模型DBMS222
11.1.2第二代數據庫管理系統關系DBMS222
11.1.3第三代數據庫管理系統新一代DBMS222
11.2基于新型數據模型的數據庫管理系統223
11.2.1面向對象數據庫管理系統223
11.2.2關系對象數據庫管理系統224
11.2.3XML數據庫管理系統224
11.3大數據管理系統225
11.3.1大數據225
11.3.2大數據建模基于分析的用戶建模227
11.3.3大數據管理系統228
11.4小結230
思考題231
參考文獻232