資料庫原理(2019年清華大學出版社出版的圖書)

資料庫原理(2019年清華大學出版社出版的圖書)

本詞條是多義詞,共4個義項
更多義項 ▼ 收起列表 ▲

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

基本介紹

  • 中文名:資料庫原理
  • 作者:趙文棟、張少嫻、徐正芹、彭來獻、高屹、李艾靜、徐任暉、王向東
  • 出版社:清華大學出版社
  • ISBN:9787302535942
內容簡介,圖書目錄,作者簡介,

內容簡介

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

圖書目錄

第一部分資料庫原理
第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餘篇。曾獲多項軍隊科技進步獎。

相關詞條

熱門詞條

聯絡我們