本書根據(jù)現(xiàn)代數(shù)據(jù)庫的網絡化、聯(lián)邦化、大眾化特征,通過講解具有代表性的主流數(shù)據(jù)庫技術,使讀者對數(shù)據(jù)庫技術中的基本問題、體系結構、關鍵技術有清晰的認識,理解數(shù)據(jù)庫中的數(shù)據(jù)正確性問題,數(shù)據(jù)處理性能問題,數(shù)據(jù)操作簡單性問題,數(shù)據(jù)安全問題,數(shù)據(jù)完整性問題,*終能綜合運用數(shù)據(jù)庫知識合理解決實際工程問題。
前言
第1章 數(shù)據(jù)庫技術概述 1
1.1 數(shù)據(jù)和信息的概念 1
1.2 數(shù)據(jù)庫的概念 2
1.3 數(shù)據(jù)庫中的數(shù)據(jù)組織及其結構 3
1.4 數(shù)據(jù)庫中的數(shù)據(jù)操作 6
1.5 數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫應用程序 7
1.6 數(shù)據(jù)庫應用的廣泛性 10
1.7 數(shù)據(jù)模型 11
1.8 數(shù)據(jù)操作語言 11
1.9 數(shù)據(jù)庫訪問編程接口 12
1.10 數(shù)據(jù)庫應用程序的模式 14
1.11 數(shù)據(jù)庫的三級模式 15
1.12 數(shù)據(jù)庫系統(tǒng)的特性 17
1.13 數(shù)據(jù)管理中要解決的基本問題 18
1.14 數(shù)據(jù)庫領域的從業(yè)人員 20
1.15 數(shù)據(jù)庫技術的發(fā)展史 21
1.16 目前流行的數(shù)據(jù)庫產品 23
1.17 本章小結 24
習題 25
第2章 關系數(shù)據(jù)模型 26
2.1 關系數(shù)據(jù)模型及其特性 26
2.1.1 關系數(shù)據(jù)模型概述 26
2.1.2 關系數(shù)據(jù)模型的特性 27
2.2 實體完整性約束 31
2.3 引用完整性約束 34
2.4 域約束和業(yè)務規(guī)則約束 37
2.5 關系代數(shù) 38
2.6 本章小結 48
習題 49
第3章 SQL中的數(shù)據(jù)操作 51
3.1 SQL概述 52
3.2 數(shù)據(jù)操作的流程 53
3.3 表數(shù)據(jù)的更新操作 53
3.3.1 向一個表中添加數(shù)據(jù)行 54
3.3.2 刪除一個表中的數(shù)據(jù)行 55
3.3.3 修改一個表中的數(shù)據(jù)行 57
3.4 查詢操作 58
3.5 統(tǒng)計操作 60
3.6 表與表的組合 64
3.6.1 同類表的三種運算 64
3.6.2 自然連接運算 65
3.7 SQL語句的嵌套 68
3.8 理解/編寫SQL語句的技法 73
3.9 本章小結 74
習題 75
第4章 SQL中的數(shù)據(jù)模式定義 77
4.1 企業(yè)數(shù)據(jù)庫的創(chuàng)建過程 77
4.2 數(shù)據(jù)庫和表的模式定義 78
4.3 業(yè)務規(guī)則的定義 82
4.4 基于觸發(fā)器的數(shù)據(jù)完整性維護方法 85
4.5 數(shù)據(jù)操作簡單性的實現(xiàn)方法 89
4.5.1 視圖 90
4.5.2 存儲過程 93
4.6 數(shù)據(jù)模式定義中的其他內容 98
4.7 本章小結 99
習題 100
第5章 數(shù)據(jù)安全管理 101
5.1 用戶管理 101
5.2 權限管理 102
5.3 權限管理的簡化 107
5.4 權限管理在DBMS中的實現(xiàn) 110
5.5 審計追蹤 114
5.6 本章小結 115
習題 115
第6章 事務處理與故障恢復 117
6.1 事務處理 117
6.2 系統(tǒng)故障及其恢復策略 119
6.3 基于日志的故障恢復 120
6.4 磁盤故障的恢復 125
6.5 災害故障的恢復 127
6.6 故障檢測及恢復的實現(xiàn) 128
6.7 本章小結 129
習題 130
第7章 數(shù)據(jù)處理性能提升技術 131
7.1 行數(shù)據(jù)在磁盤上的存儲方式 132
7.2 磁盤吞吐量的提升策略 133
7.3 基于緩存的數(shù)據(jù)傳輸優(yōu)化 135
7.4 減少無效運輸和無效處理 136
7.4.1 順序索引 137
7.4.2 散列索引 140
7.4.3 索引在數(shù)據(jù)庫設計中的應用 141
7.5 事務的并發(fā)執(zhí)行 144
7.5.1 并發(fā)執(zhí)行與并發(fā)控制 144
7.5.2 基于鎖的并發(fā)控制 145
7.5.3 細粒度的并發(fā)控制 148
7.5.4 通過強化沖突判定條件的死鎖避免方法 151
7.5.5 基于時間戳的樂觀性并發(fā)控制 153
7.5.6 基于鎖的樂觀性并發(fā)控制 155
7.6 線程池技術 158
7.7 查詢優(yōu)化 159
7.8 配置專用的日志磁盤 159
7.9 本章小結 160
習題 161
第8章 數(shù)據(jù)庫設計 162
8.1 數(shù)據(jù)庫設計概述 162
8.1.1 數(shù)據(jù)庫設計的需求獲取 162
8.1.2 數(shù)據(jù)庫設計的過程 164
8.2 數(shù)據(jù)庫設計面臨的挑戰(zhàn) 168
8.3 關系數(shù)據(jù)庫的特性 171
8.4 實體–聯(lián)系建模 171
8.4.1 實體–聯(lián)系建模中的基本概念 171
8.4.2 ER建模中對聯(lián)系的認識 174
8.4.3 ER建模中的技巧 176
8.4.4 在ER建模中引入面向對象概念 180
8.4.5 ER建模方法總結 181
8.5 ER模型向關系模型的轉化 181
8.6 驗證設計合理性 186
8.6.1 函數(shù)依賴理論及其應用 187
8.6.2 范式及其在關系規(guī)范化中的應用 192
8.6.3 函數(shù)依賴和范式對ER建模的指導意義 200
8.7 物理數(shù)據(jù)庫設計 203
8.8 本章小結 204
習題 205
第9章 數(shù)據(jù)庫應用程序的開發(fā) 207
9.1 數(shù)據(jù)庫應用程序的通用性 208
9.2 數(shù)據(jù)庫應用程序的快速響應性 213
9.2.1 連接池 214
9.2.2 批處理 215
9.2.3 索引的利用和應用端的緩存 216
9.3 數(shù)據(jù)庫應用程序的安全可靠性 217
9.3.1 注入攻擊的防御 217
9.3.2 用戶與網站之間的認證 219
9.3.3 其他安全問題的防御 223
9.4 本章小結 224
習題 224
第10章 數(shù)據(jù)庫技術的發(fā)展 225
10.1 數(shù)據(jù)模型的演進 225
10.1.1 三種基本數(shù)據(jù)模型 225
10.1.2 面向對象數(shù)據(jù)模型 228
10.1.3 關系–對象模型 229
10.1.4 對象模型與關系模型的本質差異 233
10.2 分布式數(shù)據(jù)庫技術 236
10.2.1 分布式數(shù)據(jù)庫的含義 236
10.2.2 分布式數(shù)據(jù)庫中的事務處理和故障恢復 239
10.2.3 三種并行處理系統(tǒng)之間的聯(lián)系和差異 242
10.2.4 分布式數(shù)據(jù)庫的演進 244
10.3 NoSQL數(shù)據(jù)庫 245
10.3.1 數(shù)據(jù)的存儲組織 245
10.3.2 NoSQL數(shù)據(jù)庫的特性 246
10.3.3 典型的NoSQL數(shù)據(jù)庫產品 248
10.4 大數(shù)據(jù)處理技術 251
10.4.1 數(shù)據(jù)處理方式的變革 251
10.4.2 大數(shù)據(jù)處理中的數(shù)據(jù)抽象 253
10.5 數(shù)據(jù)倉庫和數(shù)據(jù)集市 255
10.6 總結和展望 257
習題 258
參考文獻 259