本教材第2版是在充分聽取教材使用學校師生的修改建議后,結合數據庫原理與應用技術的**發(fā)展,重新修訂了相當篇幅的內容而重新編寫的。全書共分12章,涉及關系型數據庫理論及編程基礎、數據庫設計與應用、實例、實驗等幾部分。全書理論性強、體系完整、內容新穎、條理清晰、組織合理、強調實踐。作者團隊以認真嚴謹的科學態(tài)度實現(xiàn)了書中的方法,詳盡描述了各種方法的適用環(huán)境及取得的效果。
以工程案例驅動教學的講練結合的編寫原則,于SQLServer2012介紹了關系型數據庫應用技術,針對Redis、ElasticSearch、MongoDB等簡介了針對大數據的數據管理技術。本書還配有MOOC課程。
第1章 緒論 1
1.1 數據管理技術的產生和發(fā)展 1
1.1.1 人工管理數據階段 1
1.1.2 文件管理數據階段 2
1.1.3 數據庫管理階段 3
1.1.4 大數據階段 5
1.2 數據庫的基本概念 6
1.2.1 數據(信息) 6
1.2.2 數據庫、數據庫管理系統(tǒng) 6
1.2.3 數據庫系統(tǒng) 7
1.3 數據模型 7
1.3.1 數據模型的組成要素 8
1.3.2 數據建模 8
1.4 數據庫系統(tǒng)結構 13
1.4.1 三級模式 13
1.4.2 二級映像 14
1.4.3 采用三級模型二級映像結構
的優(yōu)點 14
1.5 數據庫管理系統(tǒng)的功能、組成、
工作方式 15
1.5.1 功能 15
1.5.2 組成 15
1.5.3 工作方式 16
1.6 數據庫產品及傳統(tǒng)的關系型數據庫
系統(tǒng)面臨的挑戰(zhàn) 17
1.6.1 數據庫產品 17
1.6.2 傳統(tǒng)的關系型數據庫系統(tǒng)面臨
的挑戰(zhàn) 19
1.7 小結 20
習題1 20
第2章 關系型數據庫基礎 21
2.1 關系模型的基本概念 21
2.1.1 域、笛卡兒積、關系、關系
模式 21
2.1.2 碼 24
2.2 關系模型的完整性約束 25
2.2.1 實體完整性規(guī)則 26
2.2.2 參照完整性規(guī)則 26
2.2.3 用戶自定義完整性規(guī)則 27
2.3 關系操作 27
2.3.1 關系數據語言 27
2.3.2 關系代數 27
2.4 小結 36
習題2 36
第3章 SQL的數據定義和完整性約束 38
3.1 SQL概述 38
3.1.1 SQL的發(fā)展歷史 38
3.1.2 SQL的特點 39
3.1.3 SQL數據庫的體系結構 40
3.2 SQL Server介紹 40
3.2.1 SQL Server的發(fā)展歷史 41
3.2.2 Transact-SQL 42
3.3 SQL的數據定義 46
3.3.1 數據庫的定義與刪除 46
3.3.2 基本表的定義、修改和刪除 47
3.3.3 索引的建立和刪除 51
3.4 SQL的數據操縱和完整性約束
的作用 52
3.4.1 插入數據和完整性約束的作用 52
3.4.2 刪除數據和完整性約束的作用 53
3.4.3 修改數據和完整性約束的作用 54
3.5 小結 55
習題3 55
第4章 SQL的數據查詢 56
4.1 SQL的數據查詢命令 56
4.2 簡單查詢 57
4.2.1 簡單無條件查詢 57
4.2.2 簡單條件查詢 57
4.2.3 使用BETWEEN… AND…
的查詢 58
4.2.4 字符串匹配查詢 59
4.2.5 空值查詢 60
4.2.6 使用IN的查詢 60
4.2.7 DISTINCT短語的作用 61
4.2.8 存儲查詢結果 61
4.2.9 查詢結果的排序 61
4.2.10 TOP短語的作用 62
4.2.11 集合運算 62
4.3 連接查詢 64
4.3.1 一般連接 64
4.3.2 別名和自連接查詢 66
4.3.3 外連接查詢 66
4.4 分組及匯總查詢 67
4.4.1 一般匯總查詢 67
4.4.2 使用GROUP BY的分組匯總
查詢 67
4.4.3 帶明細的分組匯總查詢 68
4.5 嵌套查詢 69
4.5.1 內外層不相關的嵌套查詢 69
4.5.2 內外層互相關的嵌套查詢 71
4.5.3 使用EXISTS的嵌套查詢 72
4.6 需要查詢支持的數據操作 74
4.6.1 插入操作 74
4.6.2 修改操作 75
4.6.3 刪除操作 75
4.7 視圖及其操作 75
4.7.1 視圖的建立和刪除 76
4.7.2 視圖的使用 77
4.7.3 視圖的作用 79
4.8 小結 79
習題4 80
第5章 關系型數據庫編程基礎 81
5.1 應用程序訪問數據庫 81
5.1.1 嵌入式SQL 81
5.1.2 DAO和OLE DB 85
5.1.3 ODBC 86
5.1.4 JDBC 87
5.1.5 ADO和ADO.NET 89
5.2 存儲過程 91
5.2.1 基本概念 91
5.2.2 Transact-SQL基本語法 92
5.2.3 創(chuàng)建和執(zhí)行存儲過程 94
5.2.4 存儲過程的修改和刪除 97
5.2.5 獲得有關存儲過程的信息 98
5.3 觸發(fā)器 98
5.3.1 基本概念 98
5.3.2 創(chuàng)建觸發(fā)器 99
5.3.3 禁止和啟用觸發(fā)器 101
5.3.4 修改和刪除觸發(fā)器 101
5.4 小結 102
習題5 102
第6章 關系數據及其規(guī)范化理論 103
6.1 問題的提出 103
6.1.1 關系模式中可能存在的問題 103
6.1.2 解決的方法 104
6.2 函數依賴 104
6.2.1 函數依賴的基本概念 105
6.2.2 函數依賴的推理規(guī)則 106
6.2.3 碼的函數依賴表示 109
6.2.4 最小函數依賴集 109
6.3 規(guī)范化 111
6.3.1 范式 111
6.3.2 模式分解 115
6.3.3 關系模式規(guī)范化步驟 120
6.4 小結 121
習題6 121
第7章 數據庫設計 122
7.1 數據庫設計概述 122
7.1.1 數據庫設計的任務和特點 122
7.1.2 數據庫設計方法 123
7.1.3 數據庫設計步驟 123
7.1.4 數據庫設計過程中的各級
模式 125
7.2 需求分析 125
7.2.1 需求分析的任務 125
7.2.2 需求分析的方法和工具 126
7.2.3 需求分析的結果 127
7.3 概念結構設計 127
7.3.1 概念模型及表示方法 127
7.3.2 概念結構設計的方法 130
7.3.3 概念設計的步驟 131
7.4 邏輯結構設計 136
7.4.1 從E-R模型到關系模式
的轉換 136
7.4.2 邏輯結構的優(yōu)化 138
7.4.3 設計用戶子模式 139
7.5 數據庫的物理設計 140
7.5.1 數據庫物理設計的內容
和方法 140
7.5.2 確定數據庫的物理結構 140
7.5.3 評價物理結構 141
7.6 數據庫的實施和維護 142
7.6.1 建立數據庫和應用程序
的調試 142
7.6.2 數據庫的試運行和測試 142
7.6.3 數據庫的運行和維護 143
7.7 數據庫設計實例 144
7.7.1 需求分析 144
7.7.2 概念結構設計 147
7.7.3 邏輯結構設計 150
7.7.4 數據庫的物理設計和實施 152
7.8 小結 154
習題7 154
第8章 數據庫的安全性 155
8.1 數據庫安全性概述 155
8.2 用戶標識與鑒別 156
8.3 存取控制 157
8.3.1 自主存取控制(DAC)方法 157
8.3.2 強制存取控制(MAC)方法 161
8.3.3 基于角色的存取控制
(RBAC)模型 162
8.4 其他安全控制方法 164
8.4.1 視圖機制 164
8.4.2 審計 165
8.4.3 數據加密 166
8.4.4 統(tǒng)計數據庫安全性 166
8.5 常見數據庫管理系統(tǒng)的安全控制 167
8.5.1 SQL Server的安全控制 167
8.5.2 Oracle的安全控制 170
8.5 小結 173
習題8 173
第9章 數據庫恢復和并發(fā)控制 175
9.1 事務 175
9.1.1 事務的基本概念 175
9.1.2 事務的性質 175
9.2 數據庫恢復技術 176
9.2.1 故障的種類 176
9.2.2 恢復的實現(xiàn)技術 177
9.2.3 故障恢復策略 179
9.3 常見數據庫的恢復技術 182
9.3.1 SQL Server數據庫的恢復
技術 182
9.3.2 Oracle數據庫的恢復技術 183
9.4 并發(fā)控制 185
9.4.1 并發(fā)操作帶來的問題 185
9.4.2 封鎖 186
9.4.3 并發(fā)調度的可串行性 189
9.4.4 兩段鎖協(xié)議 190
9.4.5 封鎖的粒度 191
9.5 常見數據庫的并發(fā)控制技術 193
9.5.1 SQL Server的封鎖方式 193
9.5.2 Oracle的封鎖方式 193
9.6 小結 194
習題9 194
第10章 基于關系型數據庫的Web應用 196
10.1 數據庫應用體系結構概述 196
10.1.1 基于C/S模式的體系結構 196
10.1.2 基于B/S模式的體系結構 197
10.2 常見的Web服務器簡介 198
10.2.1 IIS 198
10.2.2 Tomcat 199
10.2.3 WebLogic 200
10.3 服務器端的動態(tài)網頁技術 200
10.3.1 JSP 200
10.3.2 基于ASP .NET構建Web應用
程序 204
10.4 客戶端網頁設計相關技術簡介 204
10.4.1 基于CSS+DIV構建網頁 205
10.4.2 客戶端腳本語言JavaScript
簡介 206
10.5 基于XML的數據庫信息管理 209
10.5.1 XML及其與數據庫的互
操作 210
10.5.2 XML的基本規(guī)范和簡單
結構 211
10.5.3 XML數據的顯示 211
10.5.4 將數據庫信息轉換為XML 212
10.6 小結 214
習題10 215
第11章 大數據應用背景下的數據管理
技術 216
11.1 大數據及其主要特點 216
11.2 傳統(tǒng)數據處理方式面臨的挑戰(zhàn) 217
11.3 大數據應用背景下的數據管理特點
及部分數據管理產品 218
11.3.1 大數據應用背景下的數據
管理特點 218
11.3.2 基于文檔數據模型的數據
管理產品 218
11.3.3 基于鍵-值對數據模型的數據
管理產品 220
11.3.4 分布式緩存數據管理
產品MemCached 221
11.3.5 基于倒排索引的數據管理產品
及ELK架構 224
11.4 小結 224
習題11 224
第12章 關系型數據庫應用系統(tǒng)案例
分析 225
12.1 系統(tǒng)設計 225
12.1.1 需求分析 225
12.1.2 概念結構設計 226
12.1.3 數據庫設計 227
12.2 功能模塊設計 230
12.2.1 系統(tǒng)功能模塊 230
12.2.2 界面設計 230
12.3 功能實現(xiàn)步驟 231
12.3.1 數據庫創(chuàng)建 231
12.3.2 公用模塊設計 231
12.3.3 添加app.config文件 236
12.4 管理員端程序設計步驟 236
12.4.1 用戶管理界面 236
12.4.2 用戶管理信息編輯界面設計 239
12.4.3 登錄窗體的設計 242
12.5 系統(tǒng)運行與調試 244
12.5.1 調試方法 244
12.5.2 調試過程 245
12.5.3 排錯 246
12.6 小結 247
習題12 247
附錄A 實驗 248
實驗1 初識SQL Server 2012 248
實驗2 數據定義和數據操縱 250
實驗3 數據查詢 252
實驗4 視圖的創(chuàng)建與使用 253
實驗5 存儲過程和觸發(fā)器 255
實驗6 數據庫的安全性 255
參考文獻 257
后記 259