數(shù)據(jù)庫系統(tǒng)及應用(第3版)
定 價:69.9 元
- 作者:魏祖寬 等
- 出版時間:2020/2/1
- ISBN:9787121381782
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.13
- 頁碼:400
- 紙張:
- 版次:01
- 開本:16開
本書從實用性和先進性出發(fā),通過一個完整的數(shù)據(jù)庫應用實例和數(shù)據(jù),全面介紹數(shù)據(jù)庫的基本理論、數(shù)據(jù)庫的系統(tǒng)管理及數(shù)據(jù)庫的設計與開發(fā)技術。全書共14章,主要內容包括:數(shù)據(jù)庫系統(tǒng)概論、關系數(shù)據(jù)模型、關系數(shù)據(jù)庫標準SQL語言、查詢處理優(yōu)化、事務與并發(fā)控制、數(shù)據(jù)庫恢復技術、數(shù)據(jù)庫安全、規(guī)范化理論、數(shù)據(jù)庫設計方法、數(shù)據(jù)庫新技術、典型商業(yè)數(shù)據(jù)庫和選型,附錄是完整的數(shù)據(jù)庫實例和數(shù)據(jù),以及實驗指導書。本書提供免費電子課件、程序代碼、習題參考答案和實例數(shù)據(jù)庫文件。本書可作為高等學校軟件工程和計算機專業(yè)本科及研究生的教材,也可供相關領域的技術和管理人員學習、參考。
魏祖寬,男,博士,電子科技大學教授,韓國信息科學協(xié)會(KISS)會員,韓國開放型GIS協(xié)會(Korea OpenGIS)會員。歷任韓國仁荷大學電子計算工學科講師、韓國三星電子株式會社課長、韓國GEOMania株式會社技術開發(fā)研究所責任研究員、引擎開發(fā)2組組長。長期從事大數(shù)據(jù)、云計算等領域的教學和科研工作。
目 錄
第1章 數(shù)據(jù)庫系統(tǒng)概論 1
1.1 數(shù)據(jù)庫的基本概念 1
1.1.1 信息與數(shù)據(jù) 1
1.1.2 數(shù)據(jù)庫 2
1.1.3 數(shù)據(jù)庫管理系統(tǒng) 2
1.1.4 元數(shù)據(jù) 2
1.2 數(shù)據(jù)模型 2
1.2.1 組成要素 3
1.2.2 概念數(shù)據(jù)模型 3
1.2.3 邏輯數(shù)據(jù)模型 4
1.3 數(shù)據(jù)管理技術的產生和發(fā)展 7
1.4 數(shù)據(jù)庫管理系統(tǒng)的功能與特點 10
1.4.1 數(shù)據(jù)庫管理系統(tǒng)的功能 10
1.4.2 數(shù)據(jù)庫管理系統(tǒng)的特點 11
1.5 數(shù)據(jù)庫系統(tǒng)的結構 13
1.5.1 數(shù)據(jù)庫三級模式結構 13
1.5.2 數(shù)據(jù)庫二級映像與數(shù)據(jù)獨立性 14
1.5.3 數(shù)據(jù)庫的體系結構 15
1.5.4 數(shù)據(jù)庫系統(tǒng)的組成 17
1.6 數(shù)據(jù)庫語言 18
1.6.1 數(shù)據(jù)定義語言 19
1.6.2 數(shù)據(jù)操縱語言 19
1.6.3 數(shù)據(jù)控制語言 19
1.6.4 事務控制語言 19
1.7 數(shù)據(jù)庫技術的新發(fā)展 19
1.7.1 數(shù)據(jù)庫技術發(fā)展趨勢 19
1.7.2 新型數(shù)據(jù)庫與大數(shù)據(jù) 20
小結 22
習題 23
第2章 關系模型與關系代數(shù) 24
2.1 關系模型 24
2.1.1 基本概念 24
2.1.2 關系模型的數(shù)據(jù)結構 25
2.1.3 數(shù)據(jù)操作 27
2.1.4 數(shù)據(jù)約束 28
2.2 關系數(shù)據(jù)結構 28
2.2.1 關系 28
2.2.2 關系的性質 30
2.2.3 關系模式 30
2.3 關系操作 32
2.4 關系的完整性 32
2.4.1 實體完整性 32
2.4.2 參照完整性 33
2.4.3 自定義完整性 34
2.5 關系數(shù)據(jù)模型的優(yōu)缺點 34
2.6 關系代數(shù) 35
2.6.1 基本運算 35
2.6.2 專門的關系運算 37
2.6.3 擴展的關系運算 42
2.7 關系演算 43
2.7.1 元組關系演算 43
2.7.2 域關系演算語言QBE 44
小結 47
習題 48
第3章 數(shù)據(jù)庫設計過程與方法 50
3.1 數(shù)據(jù)庫設計概述 50
3.1.1 數(shù)據(jù)庫的設計方法 51
3.1.2 數(shù)據(jù)庫開發(fā)生命周期方法 53
3.1.3 數(shù)據(jù)庫設計的基本過程 55
3.2 數(shù)據(jù)庫需求分析 57
3.2.1 需求描述與分析 57
3.2.2 需求分析的步驟 58
3.2.3 數(shù)據(jù)字典 62
3.3 數(shù)據(jù)庫概念設計 63
3.3.1 概念設計的必要性 63
3.3.2 概念設計的方法和步驟 64
3.3.3 概念設計工具:E-R圖 66
3.4 數(shù)據(jù)庫邏輯設計與優(yōu)化 66
3.4.1 邏輯設計環(huán)境 66
3.4.2 E-R模式向關系模型的轉換 66
3.4.3 用關系規(guī)范化理論對關系
模型進行優(yōu)化 67
3.5 數(shù)據(jù)庫的物理設計 68
3.5.1 數(shù)據(jù)庫的物理結構確定 68
3.5.2 物理結構的評價 70
3.6 數(shù)據(jù)庫的實施和運行維護 70
3.6.1 數(shù)據(jù)庫實際結構的建立 70
3.6.2 裝載數(shù)據(jù) 70
3.6.3 應用程序開發(fā)測試 71
3.6.4 數(shù)據(jù)庫試運行 71
3.6.5 數(shù)據(jù)庫運行與維護 71
小結 72
習題 73
第4章 實體-聯(lián)系模型 74
4.1 實體-聯(lián)系模型概述 74
4.1.1 實體集 74
4.1.2 屬性 74
4.1.3 聯(lián)系集 76
4.2 約束 77
4.2.1 映射基數(shù) 77
4.2.2 參與約束 77
4.3 實體-聯(lián)系圖 77
4.4 擴展的實體-聯(lián)系模型特性 78
4.5 實體-聯(lián)系設計 80
4.5.1 E-R圖設計 80
4.5.2 用實體集還是用屬性 83
4.5.3 用實體集還是用聯(lián)系集 83
4.5.4 二元還是n元聯(lián)系集 84
4.6 數(shù)據(jù)建模的其他表示法及工具 84
4.6.1 統(tǒng)一建模語言 84
4.6.2 數(shù)據(jù)建模的其他方法 90
小結 93
習題 94
第5章 規(guī)范化 96
5.1 關系模式設計中的問題 96
5.2 函數(shù)依賴 99
5.2.1 函數(shù)依賴的定義 99
5.2.2 Armstrong公理 100
5.2.3 函數(shù)依賴與碼的聯(lián)系 101
5.2.4 屬性集的閉包 102
5.2.5 FD推理規(guī)則的完備性 103
5.2.6 FD集的最小依賴集 103
5.3 模式分解 104
5.3.1 模式分解問題 105
5.3.2 無損分解 105
5.3.3 保持函數(shù)依賴的分解 108
5.3.4 模式分解與模式等價問題 110
5.4 范式 111
5.4.1 第一范式(1NF) 112
5.4.2 第二范式(2NF) 112
5.4.3 第三范式(3NF) 113
5.4.4 BC范式(BCNF) 114
5.5 多值函數(shù)依賴與4NF 115
5.5.1 多值函數(shù)依賴 115
5.5.2 4NF 116
5.6 函數(shù)依賴與5NF 117
小結 117
習題 118
第6章 基礎SQL語言 121
6.1 SQL概述 121
6.1.1 SQL標準與歷史 121
6.1.2 SQL標準數(shù)據(jù)類型及SQL標準
內置函數(shù) 122
6.1.3 SQL的功能與特點 123
6.2 數(shù)據(jù)庫基本結構定義 124
6.2.1 數(shù)據(jù)庫的創(chuàng)建、修改與刪除 125
6.2.2 基本表的定義、修改與刪除 128
6.3 數(shù)據(jù)查詢語句基本結構 130
6.3.1 查詢語句概述 130
6.3.2 基本查詢結構 131
6.3.3 查詢語句中使用運算符 133
6.3.4 用聚集函數(shù)統(tǒng)計查詢結果 137
6.3.5 INTO子句 139
6.3.6 GROUP BY子句 140
6.3.7 HAVING子句 140
6.3.8 ORDER BY子句 141
6.3.9 用TOP謂詞限制結果集 141
6.4 集合運算 143
6.4.1 并運算 143
6.4.2 交/差運算 143
6.4.3 集合運算的使用原則 144
6.5 連接查詢 145
6.5.1 連接概述 145
6.5.2 內連接 145
6.5.3 自連接 146
6.5.4 外連接 147
6.6 嵌套查詢 148
6.6.1 嵌套查詢基本概念 148
6.6.2 非相關子查詢和相關子查詢 149
6.6.3 IN和NOT IN運算符 150
6.6.4 ANY和ALL運算符 151
6.6.5 EXISTS和NOT EXISTS
運算符 152
6.7 數(shù)據(jù)修改 153
6.7.1 數(shù)據(jù)插入 153
6.7.2 數(shù)據(jù)更新 155
6.7.3 數(shù)據(jù)刪除 155
6.8 視圖 156
6.8.1 視圖的定義 156
6.8.2 查詢中使用視圖 157
6.8.3 視圖的更新 157
6.8.4 視圖的作用 158
6.9 完整性約束 159
6.9.1 完整性約束的定義 159
6.9.2 PRIMARY KEY約束 159
6.9.3 UNIQUE約束 159
6.9.4 NOT NULL約束 160
6.9.5 CHECK約束 160
6.9.6 FOREIGN KEY約束 161
6.9.7 域約束 163
6.9.8 斷言 164
6.9.9 完整性約束的修改 164
6.9.10 完整性約束的驗證 166
習題 168
第7章 高級SQL語言 171
7.1 游標 171
7.1.1 游標的基本概念 171
7.1.2 游標種類 172
7.1.3 游標操作 173
7.2 存儲過程 176
7.2.1 存儲過程的概念 176
7.2.2 存儲過程的類型 177
7.2.3 存儲過程的操作 178
7.3 函數(shù) 181
7.3.1 SQL中函數(shù)的概念 181
7.3.2 函數(shù)的類型 182
7.3.3 函數(shù)的操作 182
7.4 觸發(fā)器 187
7.4.1 觸發(fā)器的概念和作用 187
7.4.2 觸發(fā)器的分類 188
7.4.3 觸發(fā)器的工作原理 188
7.4.4 創(chuàng)建和使用DML觸發(fā)器 189
7.4.5 創(chuàng)建和使用DDL觸發(fā)器 192
7.5 遞歸查詢 193
7.5.1 遞歸查詢基本概念 193
7.5.2 遞歸查詢的操作 193
7.6 記錄排序與分頁 195
習題 196
第8章 數(shù)據(jù)庫訪問接口與應用程序開發(fā) 197
8.1 數(shù)據(jù)庫連接訪問 197
8.1.1 ADO 198
8.1.2 ODBC 199
8.1.3 JDBC 201
8.2 XML數(shù)據(jù)交換 206
8.2.1 XML數(shù)據(jù)模型 207
8.2.2 XML數(shù)據(jù)庫 207
8.2.3 XML數(shù)據(jù)交換 209
8.3 數(shù)據(jù)庫應用程序開發(fā) 213
8.3.1 數(shù)據(jù)庫應用程序架構 213
8.3.2 數(shù)據(jù)訪問層和對象關系映射
(ORM) 215
8.3.3 數(shù)據(jù)展現(xiàn):查詢和報表 216
8.3.4 C/S應用程序開發(fā) 217
8.3.5 B/S應用程序開發(fā) 217
習題 218
第9章 數(shù)據(jù)存儲和查詢處理與優(yōu)化 219
9.1 數(shù)據(jù)存儲 219
9.1.1 物理存儲介質概述 219
9.1.2 文件組織 221
9.1.3 RAID 223
9.2 索引 227
9.2.1 B+樹索引 229
9.2.2 散列索引 233
9.2.3 位圖索引 233
9.3 查詢處理及查詢優(yōu)化 235
9.3.1 查詢處理 235
9.3.2 關系代數(shù)運算的執(zhí)行 236
9.3.3 查詢優(yōu)化技術 238
9.3.4 代數(shù)優(yōu)化 241
9.3.5 物理優(yōu)化 243
習題 245
第10章 事務與并發(fā)控制 246
10.1 事務的概念與性質 246
10.2 事務的并發(fā)執(zhí)行可能引起的
問題 249
10.3 可串行化 251
10.3.1 串行調度 251
10.3.2 可串行化調度 252
10.3.3 可恢復性 255
10.3.4 事務隔離性級別 256
10.4 基于鎖的并發(fā)控制協(xié)議 257
10.4.1 封鎖 257
10.4.2 兩段鎖協(xié)議(2PL) 259
10.4.3 鎖的升級及更新鎖 260
10.5 活鎖與死鎖 261
10.5.1 活鎖 261
10.5.2 死鎖 262
10.6 多粒度封鎖 264
習題 266
第11章 故障恢復 267
11.1 數(shù)據(jù)庫恢復概述 267
11.1.1 數(shù)據(jù)庫恢復概述 267
11.1.2 故障種類 267
11.1.3 日志記錄 268
11.2 恢復與原子性 269
11.2.1 事務管理器 269
11.2.2 使用日志撤銷和重做事務 270
11.3 緩沖區(qū)管理 275
11.3.1 緩沖區(qū)管理器結構 275
11.3.2 緩沖區(qū)管理策略 275
11.3.3 日志記錄緩沖 276
11.3.4 檢查點 277
11.4 恢復處理 280
11.4.1 事務故障的恢復 280
11.4.2 系統(tǒng)故障的恢復 280
11.4.3 介質故障的恢復 282
習題 283
第12章 數(shù)據(jù)庫安全 284
12.1 數(shù)據(jù)庫安全基礎 284
12.2 數(shù)據(jù)庫安全性控制 286
12.3 用戶標識和鑒別 287
12.4 自主訪問控制 288
12.4.1 權限類型 289
12.4.2 授權及權限回收 290
12.5 基于角色的訪問控制 290
12.6 強制訪問控制 291
12.7 安全審計 292
12.8 其他數(shù)據(jù)庫安全機制 294
12.8.1 使用視圖實現(xiàn)安全控制 294
12.8.2 使用存儲過程實現(xiàn)安全控制 294
12.9 外部安全機制 295
12.9.1 數(shù)據(jù)加密 295
12.9.2 數(shù)字簽名 297
12.9.3 認證技術 297
習題 298
第13章 新型數(shù)據(jù)庫和前沿技術 299
13.1 數(shù)據(jù)倉庫和數(shù)據(jù)挖掘 299
13.1.1 數(shù)據(jù)倉庫 299
13.1.2 數(shù)據(jù)挖掘 302
13.2 分布式數(shù)據(jù)庫 304
13.2.1 分布式數(shù)據(jù)庫系統(tǒng)概述 304
13.2.2 分布式數(shù)據(jù)庫系統(tǒng)的體系
結構 306
13.2.3 分布式網絡數(shù)據(jù)的特性 310
13.2.4 分布式查詢處理 311
13.2.5 分布式事務管理 313
13.2.6 分布式數(shù)據(jù)庫實例 317
13.3 空間數(shù)據(jù)庫 317
13.3.1 空間數(shù)據(jù) 317
13.3.2 空間數(shù)據(jù)模型 318
13.3.3 空間對象關系 319
13.3.4 空間數(shù)據(jù)操作 319
13.3.5 空間數(shù)據(jù)查詢語言 321
13.3.6 空間索引 321
13.4 多媒體數(shù)據(jù)庫 322
13.4.1 多媒體數(shù)據(jù) 323
13.4.2 多媒體數(shù)據(jù)庫的層次結構 323
13.4.3 多媒體數(shù)據(jù)模式 324
13.4.4 多媒體元數(shù)據(jù) 324
13.4.5 多媒體數(shù)據(jù)庫查詢 325
13.4.6 多媒體數(shù)據(jù)庫 326
13.4.7 多媒體數(shù)據(jù)庫的檢索 328
13.5 NoSQL數(shù)據(jù)庫 328
13.5.1 NoSQL數(shù)據(jù)庫概述 329
13.5.2 NoSQL數(shù)據(jù)庫的架構及數(shù)據(jù)
組織方式 329
13.5.3 NoSQL數(shù)據(jù)庫的特性 330
13.5.4 關系數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫的
區(qū)別 330
13.5.5 幾種常見的NoSQL數(shù)據(jù)庫
產品 331
第14章 商業(yè)數(shù)據(jù)庫管理系統(tǒng)及選型 333
14.1 Oracle數(shù)據(jù)庫 333
14.1.1 Oracle數(shù)據(jù)庫簡介 333
14.1.2 Oracle發(fā)展簡史 333
14.1.3 Oracle 特點 334
14.1.4 Oracle 12c新特性 335
14.1.5 Oracle 12c版本介紹 337
14.1.6 Oracle體系結構 337
14.1.7 Oracle Developer Suite 339
14.2 SQL Server數(shù)據(jù)庫 340
14.2.1 SQL Server數(shù)據(jù)庫簡介 340
14.2.2 SQL Server版本介紹 340
14.2.3 SQL Server特點 341
14.2.4 SQL Server 2016新特性 343
14.2.5 SQL Server版本介紹 345
14.2.6 SQL Server體系結構 345
14.2.7 SQL Server開發(fā)工具 346
14.3 DB2數(shù)據(jù)庫 347
14.3.1 DB2數(shù)據(jù)庫簡介 347
14.3.2 DB2發(fā)展簡史 347
14.3.3 DB2版本介紹 348
14.3.4 DB2核心數(shù)據(jù)庫的特點 349
14.3.5 DB2 V11.1新特性 349
14.3.6 DB2 體系結構 351
14.3.7 DB2開發(fā)工具 352
14.4 Sybase數(shù)據(jù)庫 353
14.4.1 Sybase數(shù)據(jù)庫簡介 353
14.4.2 Sybase數(shù)據(jù)庫發(fā)展簡史 353
14.4.3 Sybase數(shù)據(jù)庫特點 354
14.4.4 Sybase ASE 16新特性 355
14.4.5 Sybase數(shù)據(jù)庫體系結構 355
14.4.6 Sybase數(shù)據(jù)庫管理工具 355
14.5 MySQL數(shù)據(jù)庫 356
14.5.1 MySQL數(shù)據(jù)庫簡介 356
14.5.2 MySQL發(fā)展簡史 356
14.5.3 MySQL特點 357
14.5.4 MySQL 5.7新特性 357
14.5.5 MySQL版本介紹 358
14.5.6 MySQL體系結構 358
14.5.7 MySQL開發(fā)工具 362
14.6 工程應用中數(shù)據(jù)庫管理系統(tǒng)的
選型 362
附錄A 數(shù)據(jù)庫設計 367
醫(yī)院信息管理系統(tǒng)(HIS-2018版) 367
一、案例說明與實現(xiàn)目標 376
二、HIS中涉及的縮寫說明 376
三、HIS中的實體間關系說明 376
四、HIS中涉及的各種實體、聯(lián)系類型及
實例數(shù)據(jù) 377
附錄B 實驗指導 385
實驗一 數(shù)據(jù)庫E-R設計 385
一、實驗內容及要求 385
二、實驗重點與難點 385
三、上機實驗作業(yè) 385
四、本實驗參考資料 385
五、項目需用儀器設備名稱 385
六、教學后記 385
實驗二 數(shù)據(jù)庫邏輯及物理設計 385
一、實驗內容及要求 385
二、實驗重點與難點 386
三、上機實驗作業(yè) 386
四、本實驗參考資料 386
五、項目需用儀器設備名稱 386
六、教學后記 386
實驗三 數(shù)據(jù)庫實現(xiàn) 386
一、實驗內容及要求 386
二、實驗重點與難點 386
三、上機實驗作業(yè) 386
四、本實驗參考資料 387
五、項目需用儀器設備名稱 387
六、教學后記 387
實驗四 數(shù)據(jù)庫應用開發(fā)——服務器
編程 387
一、實驗內容及要求 387
二、實驗重點與難點 387
三、上機實驗作業(yè) 387
四、本實驗參考資料 387
五、項目需用儀器設備名稱 388
六、教學后記 388
實驗五 數(shù)據(jù)庫應用開發(fā)——訪問接口
編程 388
一、實驗內容及要求 388
二、實驗重點與難點 388
三、上機實驗作業(yè) 388
四、本實驗參考資料 388
五、項目需用儀器設備名稱 388
六、教學后記 388
實驗六 數(shù)據(jù)庫備份與恢復 388
一、實驗內容及要求 388
二、實驗重點與難點 389
三、上機實驗作業(yè) 389
四、本實驗參考資料 389
五、項目需用儀器設備名稱 389
六、教學后記 389