全書共7 章,主要內(nèi)容包括:數(shù)據(jù)庫系統(tǒng)概述、關系數(shù)據(jù)庫、關系數(shù)據(jù)標準語言SQL、關系數(shù)據(jù)庫理論、數(shù)據(jù)庫安全保護、數(shù)據(jù)庫設計和SQL Server 2012 高級應用。本書除介紹數(shù)據(jù)庫技術的基本原理外, 還以SQL Server 2012 為背景介紹了數(shù)據(jù)庫技術的實現(xiàn),使讀者可以充分利用SQL Server 2012 平臺深刻理解數(shù)據(jù)庫技術的原理,達到理論和實踐的緊密結合。
陳志泊,男,博士,教授,博士生導師,北京林業(yè)大學信息學院院長,計算機科學與技術學科負責人,主要研究方向數(shù)據(jù)庫技術、林業(yè)物聯(lián)網(wǎng)及大數(shù)據(jù)處理等。 現(xiàn)任全國高等學校計算機教育研究會常務理事;全國高等院校計算機基礎教育研究會理事、農(nóng)林水分委會副主任委員;北京高等教育學會計算機教育研究會常務理事等職務。 曾獲教育部霍英東教育基金會第八屆優(yōu)秀青年教師三等獎,2012年被評為第八屆北京市高等學校教學名師。以主持人獲北京市教學成果二等獎1項,校級教學成果一等獎3項,三等獎2項。 主編和編寫教材19部,其中,主編的《數(shù)據(jù)庫原理及應用教程》、《面向?qū)ο蟮某绦蛟O計語言一C++ (第2版)》2部教材分別被評為2005年和2008年北京市精品教材,主編的《數(shù)據(jù)庫原理及應用教程(第2版)》、《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘》、《Visual C++程序設計教程》3部教材被評為教育部"十一?五"普通高等教育國家級規(guī)劃教材,主編的《數(shù)據(jù)庫原理及應用教程(第2版)》于2012年入選第一批“十二?五”普通高等教育本科國家級規(guī)劃教材。 主持和參加國家“十一?五”國家科技支撐計劃、科技部公益基金、國家林業(yè)局948項目、國家林業(yè)局林業(yè)公益性行業(yè)科研專項等縱向和橫向科研課題近20項,獲計算機軟件著作權15部,獲國家發(fā)明專利1項,在國內(nèi)外核心以上期刊發(fā)表科研論文近60篇,培養(yǎng)研究生30多人。
第1章 數(shù)據(jù)庫系統(tǒng)概述 1
1.1 信息、數(shù)據(jù)、數(shù)據(jù)處理與數(shù)據(jù)管理 2
1.1.1 數(shù)據(jù)與信息 2
1.1.2 數(shù)據(jù)處理與數(shù)據(jù)管理 3
1.2 數(shù)據(jù)庫技術的產(chǎn)生、發(fā)展 3
1.3 數(shù)據(jù)庫系統(tǒng)的組成 8
1.4 數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結構 10
1.4.1 數(shù)據(jù)庫系統(tǒng)的三級模式結構 10
1.4.2 數(shù)據(jù)庫系統(tǒng)的二級映像與數(shù)據(jù)獨立性 12
1.4.3 數(shù)據(jù)庫系統(tǒng)的三級模式與二級映像的優(yōu)點 13
1.5 數(shù)據(jù)庫系統(tǒng)的外部體系結構 13
1.6 數(shù)據(jù)庫管理系統(tǒng) 15
1.6.1 DBMS的主要功能 15
1.6.2 DBMS的組成 16
1.6.3 DBMS的數(shù)據(jù)存取的過程 18
1.7 數(shù)據(jù)模型 18
1.7.1 數(shù)據(jù)模型的概念及分類 18
1.7.2 數(shù)據(jù)模型的組成要素 19
1.8 三個世界及其有關概念 20
1.8.1 現(xiàn)實世界 20
1.8.2 信息世界 20
1.8.3 計算機世界 22
1.9 四種數(shù)據(jù)模型 22
1.9.1 層次模型 23
1.9.2 網(wǎng)狀模型 24
1.9.3 關系模型 25
1.9.4 面向?qū)ο竽P汀?8
1.10 數(shù)據(jù)庫領域的新技術 29
1.10.1 分布式數(shù)據(jù)庫 30
1.10.2 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術 32
1.10.3 多媒體數(shù)據(jù)庫 34
1.10.4 大數(shù)據(jù)技術 35
小結 37
習題 38
第2章 關系數(shù)據(jù)庫 42
2.1 關系模型的數(shù)據(jù)結構及其形式化定義 43
2.1.1 關系的形式化定義及其有關概念 43
2.1.2 關系的性質(zhì) 45
2.1.3 關系模式 45
2.1.4 關系數(shù)據(jù)庫與關系數(shù)據(jù)庫模式 46
2.2 關系的碼與關系的完整性 47
2.2.1 候選碼(鍵)與主碼(鍵) 47
2.2.2 外碼(外部關系鍵) 48
2.2.3 關系的完整性 48
2.3 關系代數(shù) 49
2.3.1 關系代數(shù)的分類及其運算符 50
2.3.2 傳統(tǒng)的集合運算 50
2.3.3 專門的關系運算 52
2.4 關系演算* 56
2.4.1 元組關系演算語言 57
2.4.2 域關系演算語言QBE 61
小結 65
習題 66
第3章 關系數(shù)據(jù)庫標準語言——SQL 69
3.1 SQL的基本概念與特點 70
3.1.1 SQL的發(fā)展及標準化 70
3.1.2 SQL的基本概念 70
3.1.3 SQL的主要特點 71
3.2 SQL Server 2012簡介 72
3.2.1 SQL Server 的發(fā)展與版本 72
3.2.2 SQL Server 2012的主要組件 72
3.2.3 SQL Server 2012企業(yè)管理器(Management Studio) 73
3.3 數(shù)據(jù)庫的創(chuàng)建和使用 74
3.3.1 數(shù)據(jù)庫的結構 74
3.3.2 SQL Server 2012的系統(tǒng)數(shù)據(jù)庫 75
3.3.3 SQL Server的示例數(shù)據(jù)庫 76
3.3.4 創(chuàng)建用戶數(shù)據(jù)庫 76
3.3.5 修改用戶數(shù)據(jù)庫 78
3.3.6 刪除用戶數(shù)據(jù)庫 80
3.3.7 查看數(shù)據(jù)庫信息 81
3.3.8 遷移用戶數(shù)據(jù)庫 81
3.4 數(shù)據(jù)表的創(chuàng)建和使用 83
3.4.1 數(shù)據(jù)類型 83
3.4.2 創(chuàng)建數(shù)據(jù)表 85
3.4.3 定義數(shù)據(jù)表的約束 87
3.4.4 修改數(shù)據(jù)表 90
3.4.5 刪除基本表 92
3.4.6 查看數(shù)據(jù)表 93
3.5 單關系(表)的數(shù)據(jù)查詢 94
3.5.1 單關系(表)的數(shù)據(jù)查詢結構 94
3.5.2 無條件查詢 94
3.5.3 條件查詢 96
3.5.4 常用庫函數(shù)及統(tǒng)計匯總查詢 99
3.5.5 分組查詢 100
3.5.6 查詢結果的排序 101
3.6 多關系(表)的連接查詢 101
3.6.1 多關系(表)的連接查詢結構 101
3.6.2 內(nèi)連接查詢 102
3.6.3 外連接查詢 103
3.6.4 交叉查詢 104
3.6.5 自連接查詢 104
3.7 子查詢 105
3.7.1 普通子查詢 105
3.7.2 相關子查詢 107
3.8 其他類型查詢 108
3.8.1 集合運算查詢 108
3.8.2 存儲查詢結果到表中 109
3.9 數(shù)據(jù)表中數(shù)據(jù)的操縱 109
3.9.1 添加數(shù)據(jù)表中的數(shù)據(jù) 109
3.9.2 修改數(shù)據(jù)表中的數(shù)據(jù) 110
3.9.3 刪除數(shù)據(jù) 112
3.10 視圖 113
3.10.1 創(chuàng)建視圖 113
3.10.2 修改視圖 114
3.10.3 刪除視圖 115
3.10.4 查詢視圖 115
3.10.5 更新視圖 115
3.11 創(chuàng)建與使用索引 116
3.11.1 索引概述 116
3.11.2 索引的類型 117
3.11.3 創(chuàng)建索引 118
3.11.4 修改索引 119
3.11.5 刪除索引 120
3.11.6 查看索引 120
小結 121
習題 121
本章實驗 125
第4章 關系數(shù)據(jù)庫理論 130
4.1 規(guī)范化問題的提出 131
4.1.1 規(guī)范化理論的主要內(nèi)容 131
4.1.2 不合理的關系模式存在的異常問題 131
4.2 函數(shù)依賴 133
4.2.1 函數(shù)依賴的定義 133
4.2.2 函數(shù)依賴的邏輯蘊涵定義 135
4.2.3 函數(shù)依賴的推理規(guī)則及正確性 135
4.2.4 完全函數(shù)依賴與部分函數(shù)依賴 138
4.2.5 傳遞函數(shù)依賴 138
4.2.6 屬性集的閉包及其算法 138
4.2.7 候選碼的求解理論和算法 139
4.2.8 函數(shù)依賴推理規(guī)則的完備性 141
4.2.9 函數(shù)依賴集的等價、覆蓋和最小函數(shù)依賴集 142
4.3 關系模式的分解* 144
4.3.1 模式分解問題 145
4.3.2 無損連接分解 145
4.3.3 無損分解的測試算法 146
4.3.4 保持函數(shù)依賴的分解 148
4.4 關系模式的范式 149
4.4.1 第一范式 149
4.4.2 第二范式 150
4.4.3 第三范式 153
4.4.4 BC范式 156
4.4.5 多值依賴與第四范式 159
4.5 關系模式的規(guī)范化 163
4.5.1 關系模式規(guī)范化的目的和原則 163
4.5.2 關系模式規(guī)范化的步驟 163
4.5.3 關系模式規(guī)范化的要求 164
小結 166
習題 166
第5章 數(shù)據(jù)庫安全保護 172
5.1 數(shù)據(jù)庫的安全性 173
5.1.1 數(shù)據(jù)庫安全性的含義 173
5.1.2 安全性控制的一般方法 173
5.1.3 SQL Server 2012的數(shù)據(jù)安全性機制 175
5.1.4 SQL Server 2012的身份驗證模式 176
5.1.5 SQL Server 2012的登錄賬號和服務器角色 178
5.1.6 SQL Server 2012的數(shù)據(jù)庫用戶賬號和數(shù)據(jù)庫角色 181
5.2 完整性控制 186
5.2.1 數(shù)據(jù)庫完整性的含義 186
5.2.2 完整性規(guī)則的組成 186
5.2.3 完整性約束條件的分類 187
5.2.4 數(shù)據(jù)完整性的實施 188
5.2.5 規(guī)則 189
5.2.6 默認 190
5.3 并發(fā)控制與封鎖 192
5.3.1 數(shù)據(jù)庫并發(fā)性的含義 192
5.3.2 事務(Transaction) 192
5.3.3 并發(fā)操作與數(shù)據(jù)的不一致性 193
5.3.4 封鎖 195
5.4 數(shù)據(jù)庫的恢復 200
5.4.1 數(shù)據(jù)庫恢復的含義 200
5.4.2 數(shù)據(jù)庫恢復的原理及其實現(xiàn)技術 201
5.4.3 數(shù)據(jù)庫的故障和恢復的策略 202
小結 204
習題 205
本章實驗 207
第6章 數(shù)據(jù)庫設計 208
6.1 數(shù)據(jù)庫設計概述 209
6.1.1 數(shù)據(jù)庫設計的任務、內(nèi)容和特點 209
6.1.2 數(shù)據(jù)庫設計方法簡述 210
6.1.3 數(shù)據(jù)庫設計的步驟 211
6.1.4 數(shù)據(jù)庫系統(tǒng)的設計案例描述 214
6.2 系統(tǒng)需求分析 214
6.2.1 需求分析的任務 215
6.2.2 需求分析的方法 216
6.2.3 案例的需求分析 218
6.3 概念結構設計 219
6.3.1 概念結構設計的必要性 219
6.3.2 概念模型的特點 220
6.3.3 概念模型的E-R表示方法 220
6.3.4 概念結構設計的方法與步驟 222
6.3.5 案例的概念結構設計 227
6.4 邏輯結構設計 229
6.4.1 邏輯結構設計的任務和步驟 229
6.4.2 初始關系模式設計 230
6.4.3 關系模式規(guī)范化 231
6.4.4 模式評價與改進 231
6.4.5 案例的邏輯結構設計 233
6.5 物理結構設計 234
6.5.1 確定物理結構 234
6.5.2 評價物理結構 236
6.6 數(shù)據(jù)庫實施 236
6.6.1 建立實際數(shù)據(jù)庫結構 236
6.6.2 裝入數(shù)據(jù) 236
6.6.3 應用程序編碼與調(diào)試 237
6.6.4 數(shù)據(jù)庫試運行 237
6.6.5 整理文檔 238
6.7 數(shù)據(jù)庫運行和維護 238
6.7.1 維護數(shù)據(jù)庫的安全性與完整性 238
6.7.2 監(jiān)測并改善數(shù)據(jù)庫性能 238
6.7.3 重新組織和構造數(shù)據(jù)庫 239
小結 239
習題 240
本章實驗 243
第7章 SQL Server 2012高級應用 247
7.1 Transact-SQL程序設計 248
7.1.1 變量 248
7.1.2 運算符 249
7.1.3 批處理 251
7.1.4 流程控制語句 252
7.1.5 常用命令 256
7.1.6 常用函數(shù) 259
7.2 存儲過程 269
7.2.1 存儲過程的概念、優(yōu)點及分類 269
7.2.2 創(chuàng)建存儲過程 271
7.2.3 查看存儲過程 273
7.2.4 重新命名存儲過程 274
7.2.5 刪除存儲過程 274
7.2.6 執(zhí)行存儲過程 274
7.2.7 修改存儲過程 275
7.3 觸發(fā)器 276
7.3.1 觸發(fā)器概述 276
7.3.2 觸發(fā)器的工作原理 277
7.3.3 創(chuàng)建觸發(fā)器 278
7.3.4 查看觸發(fā)器 281
7.3.5 修改觸發(fā)器 282
7.3.6 刪除觸發(fā)器 283
7.4 備份和還原 283
7.4.1 備份和還原概述 283
7.4.2 創(chuàng)建備份設備 286
7.4.3 備份數(shù)據(jù)庫 288
7.4.4 還原數(shù)據(jù)庫 290
小結 291
習題 291
本章實驗 292
SQL Server 2012綜合練習 294
參考文獻 299