數據庫系統原理(微課版)

林子雨

  • 出版商: 人民郵電
  • 出版日期: 2024-10-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • 頁數: 314
  • ISBN: 7115631824
  • ISBN-13: 9787115631824
  • 下單後立即進貨 (約4週~6週)

  • 數據庫系統原理(微課版)-preview-1
  • 數據庫系統原理(微課版)-preview-2
數據庫系統原理(微課版)-preview-1

相關主題

商品描述

本書對數據庫系統的概念、原理、技術和方法進行系統、全面的闡述。本書共14章,內容包括數據庫概述、關系數據庫、關系數據庫標準語言SQL、關系數據庫編程、關系數據庫安全和保護、關系數據庫的規範化理論、關系數據庫設計、NoSQL數據庫、分佈式數據庫HBase、文檔數據庫MongoDB、鍵值數據庫Redis、雲數據庫、數據倉庫和數據湖、SQL與大數據。本書在關系數據庫標準語言SQL、關系數據庫編程、關系數據庫安全和保護、分佈式數據庫HBase、鍵值數據庫Redis等重要內容中安排了豐富的實踐操作,以幫助讀者更好地學習和掌握數據庫技術。 本書可以作為高等學校電腦相關專業“數據庫系統原理”課程的教材,也可以供相關技術人員學習參考。

作者簡介

林子雨,男,博士(毕业于北京大学),厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任。2013年度、2017年度和2020年度厦门大学教学类奖教金获得者。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员,厦门大学数据库实验室负责人,数据中国“百校工程”教育部专家组成员。负责的“大数据技术原理与应用”课程获评“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”。负责的“Spark编程基础”课程获评“2020年福建省线上一流本科课程”。国内高校首个“数字教师”的提出者和建设者,编著出版了国内高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,成为国内众多高校开课教材,同时建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程免费提供全方位、一站式服务,平台累计访问量超过1000万次,成为国内高校大数据教学知名品牌,并获得“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”。

目錄大綱

第1章 數據庫概述 1

1.1 數據 1

1.1.1 數據的概念 1

1.1.2 數據與信息的關系 2

1.1.3 數據的價值 2

1.1.4 數據的使用 2

1.2 數據管理 3

1.3 數據庫與數據庫管理系統 5

1.3.1 數據庫 5

1.3.2 數據庫管理系統 5

1.3.3 SQL Server 6

1.4 數據庫系統 9

1.4.1 數據庫系統的組成 9

1.4.2 數據庫系統的特點 9

1.4.3 數據庫系統的體系結構 10

1.5 數據庫技術的歷史與現狀 15

1.5.1 數據庫領域的傑出貢獻者 15

1.5.2 數據庫發展歷史 17

1.5.3 國產數據庫的發展現狀 19

1.6 本章小結 20

1.7 習題 20

第2章 關系數據庫 22

2.1 關系模型的基本概念 22

2.1.1 關系 22

2.1.2 關系模式和關系數據庫 23

2.1.3 碼 24

2.2 查詢語言 24

2.3 關系代數 25

2.3.1 傳統的集合運算 25

2.3.2 專門的關系運算 26

2.3.3 綜合實例 31

2.4 本章小結 31

2.5 習題 31

第3章 關系數據庫標準語言SQL 34

3.1 SQL概述 34

3.1.1 SQL的發展歷程 34

3.1.2 SQL的特點 35

3.1.3 SQL的系統結構 35

3.1.4 SQL的組成 36

3.1.5 SQL語句的執行 36

3.2 學生選課數據庫 37

3.3 數據定義 38

3.3.1 數據庫的基礎操作 38

3.3.2 基本表的定義、修改與刪除 39

3.3.3 索引的建立與刪除 42

3.4 數據更新 44

3.4.1 插入數據 44

3.4.2 修改數據 45

3.4.3 刪除數據 46

3.5 數據查詢 46

3.5.1 單表查詢 47

3.5.2 連接查詢 53

3.5.3 嵌套查詢 54

3.5.4 集合查詢 59

3.6 視圖 60

3.6.1 視圖和基本表的區別 61

3.6.2 視圖的優點 61

3.6.3 創建與刪除視圖 61

3.6.4 查詢視圖 63

3.6.5 更新視圖 63

3.7 綜合實例 64

3.7.1 電視機供貨系統實例 64

3.7.2 鞋子銷售系統實例 64

3.7.3 唱片銷售平臺實例 65

3.7.4 酒店管理系統實例 66

3.8 本章小結 68

3.9 習題 68

實驗1 熟悉SQL Server和SQL的使用方法 70

第4章 關系數據庫編程 73

4.1 Transact-SQL 73

4.1.1 常量與變量 74

4.1.2 表達式 74

4.1.3 註釋 75

4.1.4 運算符 75

4.1.5 控制結構 77

4.2 Transact-SQL游標 79

4.2.1 定義游標 80

4.2.2 打開游標 80

4.2.3 檢索游標 80

4.2.4 關閉與刪除游標 81

4.2.5 綜合實例 81

4.3 Transact-SQL存儲過程 83

4.3.1 存儲過程的特點 83

4.3.2 SQL Server應用程序 83

4.3.3 存儲過程的功能 83

4.3.4 存儲過程的使用方法 84

4.3.5 綜合實例 85

4.4 Transact-SQL函數 86

4.4.1 標量函數 87

4.4.2 內聯表值函數 88

4.4.3 多語句表值函數 88

4.5 ODBC編程 89

4.5.1 開放式數據庫互連概述 89

4.5.2 ODBC工作原理 90

4.6 JDBC編程 91

4.6.1 JDBC的工作原理 91

4.6.2 JDBC編程方法 92

4.7 本章小結 98

4.8 習題 98

實驗2 Transact-SQL編程實踐 100

第5章 關系數據庫安全和保護 103

5.1 安全性 103

5.1.1 數據庫安全性概述 103

5.1.2 用戶標識與鑒別 104

5.1.3 自主存取控制 105

5.1.4 強制存取控制 105

5.1.5 視圖機制 105

5.1.6 數據加密 106

5.1.7 數據庫審計 106

5.1.8 統計數據庫的安全性 107

5.1.9 SQL Server中的安全控制 107

5.2 完整性 120

5.2.1 實體完整性 120

5.2.2 參照完整性 121

5.2.3 用戶自定義完整性 122

5.2.4 命名完整性約束 123

5.2.5 完整性約束綜合實例 123

5.2.6 觸發器 127

5.3 並發控制 130

5.3.1 事務的概念 130

5.3.2 並發操作問題 131

5.3.3 封鎖 132

5.4 恢復機制 137

5.4.1 故障的種類 137

5.4.2 數據恢復的實現技術 138

5.5 本章小結 139

5.6 習題 139

實驗3 數據庫的安全性和完整性的實踐 141

第6章 關系數據庫的規範化理論 144

6.1 關系模式中可能存在的冗餘和異常問題 144

6.2 函數依賴 145

6.3 範式 146

6.3.1 第一範式(1NF) 146

6.3.2 第二範式(2NF) 147

6.3.3 第三範式(3NF) 147

6.3.4 Boyce-Codd範式(BCNF) 148

6.4 模式分解 149

6.4.1 基礎知識 149

6.4.2 模式分解算法 154

6.5 本章小結 159

6.6 習題 159

第7章 關系數據庫設計 161

7.1 數據庫設計的步驟 161

7.2 系統需求分析 162

7.2.1 系統調研過程 162

7.2.2 需求分析的方法 163

7.3 概念結構設計 163

7.3.1 概念結構的設計方法 164

7.3.2 概念模型中的基本概念 165

7.3.3 實體之間的聯系 165

7.3.4 E-R圖 167

7.3.5 E-R圖實例 168

7.3.6 E-R圖的集成 172

7.4 邏輯結構設計 172

7.4.1 初始關系模式設計 172

7.4.2 關系模式的優化 176

7.5 物理結構設計 176

7.5.1 確定數據分佈 176

7.5.2 確定數據的存儲結構 176

7.5.3 確定數據的訪問方式 177

7.5.4 評價物理結構 177

7.6 數據庫實施 177

7.7 數據庫運行和維護 178

7.8 本章小結 179

7.9 習題 179

第8章 NoSQL數據庫 181

8.1 NoSQL概述 181

8.2 NoSQL興起的原因 182

8.2.1 關系數據庫無法滿足Web 2.0的需求 182

8.2.2 關系數據庫的關鍵特性在“Web 2.0時代”成為“雞肋” 183

8.3 NoSQL數據庫與關系數據庫的比較 184

8.4 NoSQL的四大類型 186

8.4.1 鍵值數據庫 187

8.4.2 列族數據庫 187

8.4.3 文檔數據庫 188

8.4.4 圖數據庫 188

8.5 NoSQL的三大基石 189

8.5.1 CAP 189

8.5.2 BASE 191

8.5.3 最終一致性 192

8.6 從NoSQL數據庫到NewSQL數據庫 193

8.7 本章小結 194

8.8 習題 195

第9章 分佈式數據庫HBase 196

9.1 HBase概述 196

9.1.1 從BigTable說起 196

9.1.2 HBase簡介 197

9.1.3 HBase與傳統關系數據庫的對比分析 199

9.2 HBase訪問接口 200

9.3 HBase數據模型 201

9.3.1 數據模型概述 201

9.3.2 數據模型的相關概念 201

9.3.3 數據坐標 202

9.3.4 概念視圖 203

9.3.5 物理視圖 204

9.3.6 面向列的存儲 204

9.4 HBase的實現原理 206

9.4.1 HBase的功能組件 206

9.4.2 表和Region 206

9.4.3 Region的定位 207

9.5 HBase的運行機制 209

9.5.1 HBase的系統架構 209

9.5.2 Region服務器的工作原理 211

9.5.3 Store的工作原理 212

9.5.4 HLog的工作原理 213

9.6 HBase的安裝 213

9.6.1 安裝JDK 213

9.6.2 安裝HBase 215

9.7 HBase編程實踐 217

9.7.1 HBase常用的Shell命令 217

9.7.2 HBase常用的Java API及應用實例 220

9.8 本章小結 234

9.9 習題 234

實驗4 熟悉常用的HBase操作 235

第10章 文檔數據庫MongoDB 238

10.1 MongoDB概述 238

10.2 MongoDB和關系數據庫的對比 239

10.3 MongoDB的數據類型 240

10.4 安裝MongoDB 241

10.5 安裝MongoDB Shell 246

10.6 MongoDB基礎操作 247

10.6.1 常用操作命令 247

10.6.2 簡單操作演示 247

10.7 Java API編程實例 249

10.8 本章小結 253

10.9 習題 253

第11章 鍵值數據庫Redis 254

11.1 Redis概述 254

11.2 Redis的應用場景 255

11.3 安裝Redis 255

11.4 Redis的數據結構及其操作方法 257

11.4.1 通用操作命令 257

11.4.2 String類型 258

11.4.3 Hash類型 261

11.4.4 List類型 262

11.4.5 Set類型 263

11.5 使用Java操作Redis 265

11.6 本章小結 266

11.7 習題 266

實驗5 NoSQL和關系數據庫的操作比較 266

第12章 雲數據庫 270

12.1 雲數據庫概述 270

12.1.1 雲計算是雲數據庫興起的基礎 270

12.1.2 雲數據庫的概念 272

12.1.3 雲數據庫的特性 272

12.1.4 雲數據庫是個性化數據存儲需求的理想選擇 274

12.1.5 雲數據庫與其他數據庫的關系 275

12.2 雲數據庫產品 275

12.2.1 雲數據庫廠商簡介 275

12.2.2 Amazon的雲數據庫產品 276

12.2.3 Google的雲數據庫產品 276

12.2.4 微軟的雲數據庫產品 277

12.2.5 其他雲數據庫產品 278

12.3 雲數據庫系統架構 278

12.3.1 UMP系統簡介 278

12.3.2 UMP系統架構 279

12.3.3 UMP系統功能 281

12.4 本章小結 284

12.5 習題 284

第13章 數據倉庫和數據湖 285

13.1 數據倉庫的概念 285

13.2 數據倉庫的不同發展階段 287

13.2.1 報表階段 287

13.2.2 分析階段 289

13.2.3 預測階段 290

13.2.4 實時決策階段 290

13.2.5 主動決策階段 293

13.3 數據湖 294

13.3.1 數據湖的概念 294

13.3.2 數據湖與數據倉庫的區別 296

13.3.3 數據湖能解決的企業問題 296

13.4 湖倉一體 297

13.5 本章小結 298

13.6 習題 299

第14章 SQL與大數據 300

14.1 Hive 300

14.1.1 Hive簡介 300

14.1.2 Hive與Hadoop生態系統中其他組件的關系 301

14.1.3 Hive與傳統關系數據庫的對比分析 301

14.1.4 Hive在企業中的部署和應用 302

14.1.5 Hive系統架構 304

14.1.6 Hive工作原理 304

14.2 Spark SQL 306

14.2.1 Spark簡介 306

14.2.2 Spark生態系統 307

14.2.3 Spark SQL基礎 308

14.3 Flink SQL 309

14.3.1 Flink簡介 310

14.3.2 Flink核心組件棧 311

14.3.3 Flink SQL基礎 311

14.4 Phoenix 312

14.5 本章小結 312

14.6 習題 312

參考文獻 313