複製鏈接
請複製以下鏈接發送給好友

數據庫原理

(2019年清華大學出版社出版的圖書)

鎖定
《數據庫原理》是2019年10月清華大學出版社出版的圖書,作者是趙文棟,張少嫺,徐正芹,彭來獻,高屹,李艾靜,徐任暉,王向東,本書介紹了基本的數據庫設計原理,並基於MySQL數據庫對基本的關係數據庫的使用進行了詳細講解。
中文名
數據庫原理
作    者
趙文棟
張少嫺
徐正芹
作    者
彭來獻
高屹 展開
作者
彭來獻
高屹
李艾靜
徐任暉
王向東 收起
出版社
清華大學出版社
ISBN
9787302535942

數據庫原理內容簡介

本書重點介紹了數據庫的原理、設計與實現技術,對傳統的數據庫理論進行了精練,保留了核心與實用部分,並適當增加了實驗內容,以突出實踐能力的培養。全書由三部分共18章組成: 第一部分介紹數據庫基本原理,包括數據庫的基礎知識、數據模型、結構化查詢語言SQL和數據的安全性等內容;第二部分介紹數據庫的設計與開發,包括關係模式的規範化和數據庫的設計與建模等內容;第三部分討論數據庫管理系統(DBMS)的設計與實現,以一個實際的DBMS為例,介紹DBMS的設計、存儲管理、數據緩衝、數據操縱、索引技術、查詢處理、事務管理和故障恢復等知識。本書適合於高等院校計算機及相關專業的本科生和研究生教學使用,也可供相關領域技術人員參考。 [1] 

數據庫原理圖書目錄

第一部分數據庫原理
第1章數據庫基礎知識3
1.1數據管理技術的發展3
1.1.1數據和數據處理3
1.1.2數據管理的三個階段4
1.2數據庫的基本概念5
1.2.1數據庫系統5
1.2.2數據模型8
1.2.3數據庫的發展9
1.2.4數據庫分類11
1.3DBMS體系結構12
習題113
第2章關係數據模型15
2.1關係模型基礎15
2.1.1基本術語15
2.1.2關係的數學定義17
2.2關係代數19
2.2.1傳統的集合運算20
2.2.2專門的關係運算22
2.2.3關係演算24
2.3基於包的關係代數25
2.3.1傳統的集合運算25
2.3.2專門的關係運算272.4關係的三類完整性約束27
2.4.1實體完整性約束28
2.4.2參照完整性約束28
2.4.3用户自定義的完整性約束29
實驗暢想數據庫管理系統29
習題232
數據庫原理目錄第3章結構化查詢語言(SQL)35
3.1SQL概述35
3.1.1SQL的標準和特點35
3.1.2SQL的術語36
3.1.3RDBMS的體系結構37
3.2數據定義38
3.2.1數據類型38
3.2.2定義基表40
3.2.3修改與刪除基表44
3.3基本數據查詢45
3.3.1SELECT語句的語法45
3.3.2單表查詢45
3.3.3分組統計查詢49
3.4連接查詢51
3.4.1交叉連接51
3.4.2內連接52
3.4.3外連接53
3.4.4多表連接查詢56
3.5數據更新57
3.5.1數據插入57
3.5.2數據修改58
3.5.3數據刪除59
3.6複雜的查詢條件60
3.6.1查詢條件表達式的語法60
3.6.2空值的判斷62
3.6.3針對字符數據的查詢62
實驗SQL實驗64
習題367
第4章數據庫對象69
4.1視圖69
4.1.1視圖的概念69
4.1.2創建和刪除視圖70
4.1.3修改視圖71
4.1.4使用視圖數據71
4.2索引72
4.2.1索引的概念72
4.2.2使用索引73
4.3序列73
實驗使用數據庫對象75
4.4存儲過程75
4.5觸發器77
習題478
第5章數據的安全性79
5.1事務和鎖的概念79
5.1.1事務的概念79
5.1.2事務的ACID特性80
5.1.3事務生命週期82
5.1.4鎖83
5.2使用事務83
5.2.1用户、連接和事務的關係83
5.2.2顯式模式84
5.2.3隱性模式85
5.2.4自動提交模式86
5.3特殊事務模型86
5.3.1嵌套事務86
5.3.2保存點87
5.3.3分佈式事務87
實驗事務的併發與隔離88
5.4SQL中的授權機制92
5.4.1用户92
5.4.2權限92
5.4.3授權93
5.4.4解除授權93
習題594第二部分數據庫設計與開發
第6章關係模式的規範化97
6.1問題提出97
6.2函數依賴和模式分解99
6.2.1函數依賴99
6.2.2模式分解101
6.3關係範式102
6.3.1範式104
6.3.2第二範式105
6.3.3第三範式107
6.3.4非規範化108
6.4BoyceCodd範式(BCNF)109
實驗規範化設計案例111
習題6111
第7章數據庫設計與建模113
7.1數據庫設計的工作113
7.2數據庫系統的設計方法及步驟116
7.3概念模型設計與ER模型118
7.3.1基本ER元素118
7.3.2高級ER元素123
7.3.3建立ER模型125
7.4邏輯模式設計128
7.4.1概念模型向關係模式的轉換129
7.4.2繼續轉換為邏輯模式134
7.5選擇索引135
7.5.1單個索引的收益135
7.5.2主鍵上的索引136
7.5.3索引的選擇136
實驗數據庫建模實驗137
習題7137
第8章數據庫應用程序開發139
8.1數據庫系統的體系結構139
8.1.1數據庫的訪問139
8.1.2幾種常見的體系結構140
8.1.3三層體系結構142
8.2應用程序接口142
8.2.1ODBC143
8.2.2JDBC143
實驗使用ODBC連接數據庫145
習題8146
第三部分DBMS的實現
第9章DBMS的設計149
9.1需求分析149
9.1.1關於數據量150
9.1.2關於併發度151
9.1.3CXDB教學版簡介152
9.2接口設計153
9.2.1數據接口設計153
9.2.2語言接口設計153
9.2.3編程接口設計154
9.3總體設計155
9.3.1總體設計的任務155
9.3.2DBMS的一般體系結構156
9.3.3CXDBE的體系結構158
實驗基於CXDBE的編程160
習題9161
第10章存儲管理163
10.1數據存儲技術概述163
10.1.1存儲器的層次163
10.1.2磁盤的讀寫164
10.1.3磁盤調度165
10.1.4磁盤緩存166
10.1.5提高磁盤I/O速度的方法166
10.1.6RAID167
10.2數據在文件中的組織168
10.2.1CXDBE文件格式168
10.2.2CXDBE的文件頭格式169
10.3頁的尋址170
實驗CXDBE的存儲管理171
習題10171
第11章數據緩衝173
11.1數據緩衝層概述173
11.1.1緩衝區的概念173
11.1.2散列表174
11.2緩衝區管理175
11.2.1文件頁和緩衝區頁175
11.2.2緩衝區管理的功能177
11.2.3緩衝區的大小178
11.3緩衝區替換策略179
實驗CXDBE的數據緩衝181
習題11181
第12章數據操縱183
12.1記錄的存儲技術183
12.1.1記錄在頁中的存放183
12.1.2記錄的尋址185
12.1.3溢出頁的使用185
12.2CXDBE的數據頁格式186
12.2.1數據記錄格式186
12.2.2數據頁格式187
12.2.3溢出頁格式188
12.2.4空閒頁格式189
12.3遊標190
12.3.1遊標種類190
12.3.2遊標操作190
12.3.3遊標結構191
實驗CXDBE的記錄操縱192
習題12193
第13章索引技術195
13.1索引技術概述195
13.2B樹索引197
13.2.1B樹的概念197
13.2.2B樹的基本算法198
13.2.3B樹基本算法的討論202
13.2.4B 樹203
13.3CXDBE的索引頁格式204
13.4用於索引的B樹算法205
13.4.1需要考慮的問題205
13.4.2算法206
實驗CXDBE的索引操縱213
13.5其他索引技術214
13.5.1散列索引214
13.5.2位圖索引215
13.5.3多維索引215
習題13216
第14章查詢處理217
14.1查詢處理的一般過程217
14.1.1編譯218
14.1.2優化219
14.1.3執行220
14.2物理查詢計劃操作符220
14.2.1關係的掃描221
14.2.2物理操作符的代價計算模型221
14.2.3衡量代價的參數221
14.2.4兩階段多路歸併排序222
14.2.5物理操作符迭代器224
14.2.6算法分類225
14.3選擇操作226
14.4連接操作228
14.4.1一趟算法228
14.4.2嵌套循環連接228
14.4.3基於排序的兩趟算法229
14.4.4基於散列的兩趟算法231
14.4.5基於索引的算法232
14.5聚合操作233
14.5.1一趟算法234
14.5.2基於排序的兩趟算法235
14.5.3基於散列的兩趟算法236
14.5.4基於索引的算法236
14.6關係代數的等價性定律236
14.6.1交換律和結合律236
14.6.2與選擇有關的定律237
14.6.3與投影有關的定律238
14.6.4與連接和積有關的定律238
14.6.5與分組和聚合有關的定律238
14.7選擇邏輯查詢計劃238
14.7.1將分析樹轉換為關係代數表達式樹239
14.7.2邏輯查詢計劃的優化240
14.8選擇物理查詢計劃241
習題14242
第15章CXDBE的SQL層245
15.1SQL語句的編譯245
15.1.1編譯的一般步驟246
15.1.2lex與yacc介紹246
15.1.3SQL語句的語法描述248
15.1.4SQL語句的內存結構249
15.2CXDBE的查詢處理250
15.2.1語義分析251
15.2.2選擇查詢計劃252
15.2.3查詢執行256
15.2.4條件表達式向索引的轉換259
實驗SQL層的實現259
習題15260
第16章事務管理261
16.1事務調度261
16.1.1串行調度和並行調度262
16.1.2可串行化265
16.1.3衝突可串行化266
16.2事務隔離級別267
16.2.1並行調度造成的不一致現象267
16.2.2事務隔離級別269
16.3併發控制270
16.3.1併發控制的分類270
16.3.2基於鎖的併發控制270
16.4鎖的類型271
16.4.1共享鎖與排他鎖271
16.4.2鎖的相容矩陣271
16.4.3鎖升級272
16.4.4更新鎖273
16.4.5意向鎖274
16.5封鎖粒度和封鎖協議275
16.5.1鎖的粒度275
16.5.2兩段鎖協議276
16.6加鎖產生的問題279
16.6.1阻塞279
16.6.2死鎖280
16.6.3死鎖的預防280
16.6.4死鎖檢測與解除281
16.6.5活鎖282
16.7CXDB加鎖的實現282
16.7.1CXDB加鎖的粒度282
16.7.2CXDB表級鎖的類型283
16.7.3CXDB的死鎖檢測與解決285
實驗死鎖285
習題16287
第17章故障恢復289
17.1故障恢復概述289
17.1.1故障類型289
17.1.2故障恢復基礎290
17.2Undo日誌292
17.2.1日誌的概念292
17.2.2日誌記錄293
17.2.3使用Undo日誌的恢復294
17.2.4檢查點295
17.2.5模糊檢查點296
17.3Redo日誌297
17.3.1使用Redo日誌的恢復297
17.3.2Redo日誌的檢查點298
17.3.3使用帶檢查點的Redo日誌的恢復299
17.4Undo/Redo日誌299
17.4.1使用Undo/Redo日誌的恢復299
17.4.2Undo/Redo日誌的檢查點300
17.5防備介質故障301
17.5.1備份類型301
17.5.2使用備份和日誌的恢復302
習題17302
第18章數據庫技術的發展305
18.1數據倉庫306
18.1.1數據倉庫的發展與定義306
18.1.2數據倉庫的特點307
18.1.3數據倉庫的組成308
18.1.4新一代數據倉庫309
18.2XML和XQuery310
18.2.1半結構化數據311
18.2.2XML311
18.2.3XPath313
18.2.4XQuery314
附錄A人員數據庫設計319
A.1表定義和表數據319
A.2創建語句321
附錄B圖書借閲數據庫設計323
B.1規章制度323
B.2與藏書有關的需求324
B.3數據庫設計325
參考文獻333

數據庫原理作者簡介

趙文棟 博士,陸軍工程大學副教授,主要研究方向為計算機網絡、服務計算,先後主持幾十項軍內外科研項目,發表學術論文60餘篇。曾獲多項軍隊科技進步獎。
參考資料