數據庫原理與應用(微課版)

鄒先霞、王傳勝

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • ISBN: 7302668272
  • ISBN-13: 9787302668275
  • 下單後立即進貨 (約4週~6週)

  • 數據庫原理與應用(微課版)-preview-1
  • 數據庫原理與應用(微課版)-preview-2
  • 數據庫原理與應用(微課版)-preview-3
數據庫原理與應用(微課版)-preview-1

商品描述

"本書以開源數據庫PostgreSQL、非關系數據庫NoSQL及國產雲數據庫openGauss為背景,介紹數據庫系統的原理與應用。全書共12章,分為四部分,第一部分是數據庫的基本概念和基礎知識,主要介紹了數據庫管理技術的發展歷史、發展趨勢及傳統的關系模型;第二部分是關系數據庫的基本原理,主要講解了SQL、數據庫的安全性、數據庫的完整性和事務管理等,利用充足的實例來加強對基本原理的理解,所有實例都可在PostgreSQL上運行;第三部分是數據庫的設計,重點介紹數據庫設計流程、ER模型、規範化設計理論和大數據的反規範化技術;第四部分是數據庫管理的新技術,介紹NoSQL數據庫的經典模型及國產雲數據庫GaussDB等。 本書語言簡潔,取材新穎,將數據庫原理與實際工具相結合,傳統模型與新技術相互補充,旨在培養讀者的綜合實踐與創新能力。 本書既可作為高等院校電腦專業、軟件工程專業數據庫課程的教材,也可作為相關開發人員學習數據庫知識與技術的參考書。 "

目錄大綱

目錄

 

 

第一部分數據庫的基本概念和基礎知識

第1章緒論31.1數據庫系統概述3

1.1.1數據庫的基本概念3

1.1.2數據庫系統的目標5

1.1.3數據庫系統的發展歷史8

1.1.4數據管理技術的發展趨勢10

1.2數據視圖11

1.2.1數據抽象11

1.2.2實例和模式12

1.2.3數據模型13

1.3數據庫管理系統概述14

1.3.1數據庫語言14

1.3.2查詢處理16

1.3.3數據存儲17

1.3.4數據庫體系結構17

1.4數據庫設計18

1.4.1設計過程18

1.4.2ER模型18

1.4.3規範化19

1.5數據庫用戶和管理員20

1.5.1數據庫用戶20

1.5.2數據庫管理員21

小結21

習題22

第2章關系模型23

2.1關系數據結構23

2.1.1關系的通俗解釋23

2.1.2關系的定義24

2.1.3關系模式26

2.2關系模型的完整性約束26

2.2.1實體完整性27

2.2.2參照完整性27

2.2.3用戶自定義完整性28

2.3關系操作28

2.3.1基本的關系操作28

2.3.2關系查詢語言28

2.4關系代數29

2.4.1基本的關系運算29

2.4.2擴展的關系運算32

2.5查詢優化35

2.5.1代數優化35

2.5.2查詢執行38

2.6關系演算39

2.6.1元組關系演算39

2.6.2域關系演算41

小結42

習題42

目錄〖3〗第二部分關系數據庫的基本原理

第3章關系數據庫語言——SQL473.1SQL簡介47

3.2數據定義48

3.2.1基本表的定義48

3.2.2基本表的修改51

3.2.3基本表的刪除51

3.3數據查詢52

3.3.1單表查詢52

3.3.2多表查詢60

3.3.3嵌套子查詢62

3.3.4集合查詢66

3.4數據更新67

3.4.1數據插入67

3.4.2刪除數據68

3.4.3修改數據69

小結70

習題70

第4章視圖和索引72

4.1視圖72

4.1.1視圖的定義72

4.1.2視圖的查詢74

4.2視圖的更新74

4.2.1更新視圖75

4.2.2刪除視圖76

4.3索引76

4.3.1索引類型77

4.3.2創建索引79

4.3.3選擇索引82

4.4數據庫系統的模式結構83

4.4.1三級模式結構83

4.4.2數據獨立性85

小結86

習題86

第5章約束和觸發器87

5.1主碼和外碼約束87

5.1.1主碼約束87

5.1.2主外碼約束88

5.2基於屬性和元組的約束90

5.2.1非空值約束91

5.2.2UNIQUE約束91

5.2.3CHECK子句91

5.2.4用戶自定義域92

5.3約束的修改93

5.4斷言94

5.4.1創建斷言94

5.4.2使用斷言94

5.5觸發器96

5.5.1定義觸發器96

5.5.2觸發器的執行101

5.5.3刪除觸發器102

小結102

習題102

第6章數據庫的安全性104

6.1數據庫的安全性概述104

6.1.1數據庫安全的基本概念104

6.1.2數據庫的潛在安全風險105

6.1.3數據庫安全常用的關鍵技術105

6.2數據庫安全性控制106

6.2.1用戶身份鑒別106

6.2.2存取控制109

6.2.3自主存取控制110

6.2.4強制存取控制119

6.3審計120

6.3.1審計事件120

6.3.2審計功能120

6.3.3PostgreSQL的審計121

6.4數據庫加密技術122

6.4.1數據加密122

6.4.2PostgreSQL加密技術123

6.5數據脫敏技術124

小結127

習題128

第7章事務管理129

7.1事務129

7.1.1事務的ACID性質129

7.1.2事務的原子性和持久性131

7.1.3事務的一致性和隔離性132

7.2可串行化134

7.2.1串行調度134

7.2.2可串行化調度135

7.2.3沖突可串行化調度136

7.2.4事務隔離性級別138

7.3並發控制139

7.3.1基於鎖的協議139

7.3.2兩段鎖協議141

7.3.3死鎖處理142

7.3.4多粒度封鎖143

7.3.5基於時間戳的協議145

7.3.6多版本機制146

7.4數據庫恢復146

7.4.1故障類型147

7.4.2恢復技術147

7.4.3檢查點恢復技術151

7.4.4恢復算法151

7.5PostgreSQL的備份與恢復153

7.5.1PostgreSQL的備份153

7.5.2PostgreSQL的恢復157

小結160

習題161

第8章數據庫應用162

8.1三層體系結構162

8.1.1Web服務器層162

8.1.2應用服務器層163

8.1.3數據庫服務器層163

8.2存儲過程和函數163

8.2.1定義部分165

8.2.2流程控制171

8.2.3存儲過程和函數的創建173

8.2.4存儲過程和函數的調用176

8.3JDBC177

8.3.1概述177

8.3.2JDBC訪問數據庫的基本流程179

8.3.3JDBC的游標與參數綁定182

8.4應用程序安全性185

8.4.1SQL註入186

8.4.2應用程序認證189

8.4.3應用級授權190

8.4.4審計追蹤190

小結191

習題191

第三部分數據庫的設計

第9章數據庫設計1959.1概述195

9.1.1需求分析196

9.1.2概念模型的設計197

9.1.3邏輯模型的設計200

9.1.4物理結構的設計200

9.2ER模型201

9.2.1實體集201

9.2.2聯系集201

9.2.3屬性集202

9.2.4擴展的ER特性203

9.3約束204

9.3.1映射基數204

9.3.2參與約束205

9.3.3碼205

9.4ER圖205

9.4.1主要構件206

9.4.2映射基數207

9.4.3角色208

9.4.4弱實體集208

9.4.5多元聯系208

9.4.6ISA聯系209

9.5ER設計問題209

9.5.1消除沖突和冗餘209

9.5.2實體集與屬性210

9.5.3實體集與聯系集210

9.5.4二元聯系與多元聯系集211

9.6ER模型轉換為關系模式212

9.6.1實體集到關系的轉換213

9.6.2弱實體集的處理213

9.6.3聯系集到關系的轉換213

9.6.4泛化的表示214

9.7統一建模語言215

9.7.1UML常用概念215

9.7.2UML圖到關系的轉換216

小結217

習題218

第10章關系數據庫設計理論220

10.1設計選擇220

10.2第一範式222

10.3規範化222

10.3.1函數依賴222

10.3.2碼223

10.3.3BCNF範式223

10.3.4第三範式224

10.4函數依賴理論224

10.4.1函數依賴集的閉包224

10.4.2屬性子集的閉包226

10.4.3正則覆蓋226

10.4.4無損分解228

10.4.5保持函數依賴性231

10.5分解算法232

10.5.1候選碼的求解算法232

10.5.2分解為BCNF233

10.5.3分解為3NF235

10.6反規範化的定義236

10.6.1反規範化的定義236

10.6.2常用的反規範化技術237

10.6.3反規範化下的數據完整性237

小結238

習題238

第四部分數據庫管理的新技術

第11章NoSQL數據庫24311.1概述243

11.1.1NoSQL數據庫243

11.1.2NoSQL的理論基礎245

11.2鍵值數據庫247

11.2.1基本概念247

11.2.2Redis數據庫的結構248

11.2.3Redis數據庫的操作252

11.3列簇數據庫255

11.3.1基本概念255

11.3.2HBase的數據模型256

11.3.3HBase的存儲結構258

11.3.4HBase的系統架構259

11.3.5HBase的操作264

11.4文檔數據庫270

11.4.1基本概念270

11.4.2MongoDB的數據模型271

11.4.3MongoDB集群架構278

11.4.4MongoDB的基本語法280

11.5圖數據庫294

11.5.1基本概念294

11.5.2Neo4j介紹295

11.5.3Neo4j的存儲結構296

11.5.4Neo4j的查詢語言CQL301

小結307

習題307

第12章大數據管理309

12.1概述309

12.1.1大數據的概念309

12.1.2大數據的影響310

12.1.3大數據技術311

12.2分佈式文件系統312

12.2.1電腦集群結構312

12.2.2HDFS簡介313

12.3分佈式並行處理314

12.3.1MapReduce的基本架構315

12.3.2MapReduce工作過程317

12.3.3MapReduce編程實踐319

12.4雲數據庫323

12.4.1雲數據庫產品324

12.4.2關系數據服務326

12.4.3華為雲數據庫GaussDB(for MySQL)328

12.4.4華為雲數據庫GaussDB(openGauss)331

12.4.5NoSQL數據服務334

小結336

習題336

參考文獻337