全書共7 章,主要內(nèi)容包括:數(shù)據(jù)庫系統(tǒng)概述、關(guān)系數(shù)據(jù)庫、關(guān)系數(shù)據(jù)標(biāo)準(zhǔn)語言SQL、關(guān)系數(shù)據(jù)庫理論、數(shù)據(jù)庫安全保護(hù)、數(shù)據(jù)庫設(shè)計(jì)和SQL Server 2012 高級(jí)應(yīng)用。本書除介紹數(shù)據(jù)庫技術(shù)的基本原理外, 還以SQL Server 2012 為背景介紹了數(shù)據(jù)庫技術(shù)的實(shí)現(xiàn),使讀者可以充分利用SQL Server 2012 平臺(tái)深刻理解數(shù)據(jù)庫技術(shù)的原理,達(dá)到理論和實(shí)踐的緊密結(jié)合。
陳志泊,男,博士,教授,博士生導(dǎo)師,北京林業(yè)大學(xué)信息學(xué)院院長,計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科負(fù)責(zé)人,主要研究方向數(shù)據(jù)庫技術(shù)、林業(yè)物聯(lián)網(wǎng)及大數(shù)據(jù)處理等。 現(xiàn)任全國高等學(xué)校計(jì)算機(jī)教育研究會(huì)常務(wù)理事;全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)理事、農(nóng)林水分委會(huì)副主任委員;北京高等教育學(xué)會(huì)計(jì)算機(jī)教育研究會(huì)常務(wù)理事等職務(wù)。 曾獲教育部霍英東教育基金會(huì)第八屆優(yōu)秀青年教師三等獎(jiǎng),2012年被評(píng)為第八屆北京市高等學(xué)校教學(xué)名師。以主持人獲北京市教學(xué)成果二等獎(jiǎng)1項(xiàng),校級(jí)教學(xué)成果一等獎(jiǎng)3項(xiàng),三等獎(jiǎng)2項(xiàng)。 主編和編寫教材19部,其中,主編的《數(shù)據(jù)庫原理及應(yīng)用教程》、《面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一C++ (第2版)》2部教材分別被評(píng)為2005年和2008年北京市精品教材,主編的《數(shù)據(jù)庫原理及應(yīng)用教程(第2版)》、《數(shù)據(jù)倉庫與數(shù)據(jù)挖掘》、《Visual C++程序設(shè)計(jì)教程》3部教材被評(píng)為教育部"十一?五"普通高等教育國家級(jí)規(guī)劃教材,主編的《數(shù)據(jù)庫原理及應(yīng)用教程(第2版)》于2012年入選第一批“十二?五”普通高等教育本科國家級(jí)規(guī)劃教材。 主持和參加國家“十一?五”國家科技支撐計(jì)劃、科技部公益基金、國家林業(yè)局948項(xiàng)目、國家林業(yè)局林業(yè)公益性行業(yè)科研專項(xiàng)等縱向和橫向科研課題近20項(xiàng),獲計(jì)算機(jī)軟件著作權(quán)15部,獲國家發(fā)明專利1項(xiàng),在國內(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ù)庫技術(shù)的產(chǎn)生、發(fā)展 3
1.3 數(shù)據(jù)庫系統(tǒng)的組成 8
1.4 數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu) 10
1.4.1 數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu) 10
1.4.2 數(shù)據(jù)庫系統(tǒng)的二級(jí)映像與數(shù)據(jù)獨(dú)立性 12
1.4.3 數(shù)據(jù)庫系統(tǒng)的三級(jí)模式與二級(jí)映像的優(yōu)點(diǎn) 13
1.5 數(shù)據(jù)庫系統(tǒng)的外部體系結(jié)構(gòu) 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 三個(gè)世界及其有關(guān)概念 20
1.8.1 現(xiàn)實(shí)世界 20
1.8.2 信息世界 20
1.8.3 計(jì)算機(jī)世界 22
1.9 四種數(shù)據(jù)模型 22
1.9.1 層次模型 23
1.9.2 網(wǎng)狀模型 24
1.9.3 關(guān)系模型 25
1.9.4 面向?qū)ο竽P汀?8
1.10 數(shù)據(jù)庫領(lǐng)域的新技術(shù) 29
1.10.1 分布式數(shù)據(jù)庫 30
1.10.2 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù) 32
1.10.3 多媒體數(shù)據(jù)庫 34
1.10.4 大數(shù)據(jù)技術(shù) 35
小結(jié) 37
習(xí)題 38
第2章 關(guān)系數(shù)據(jù)庫 42
2.1 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)及其形式化定義 43
2.1.1 關(guān)系的形式化定義及其有關(guān)概念 43
2.1.2 關(guān)系的性質(zhì) 45
2.1.3 關(guān)系模式 45
2.1.4 關(guān)系數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫模式 46
2.2 關(guān)系的碼與關(guān)系的完整性 47
2.2.1 候選碼(鍵)與主碼(鍵) 47
2.2.2 外碼(外部關(guān)系鍵) 48
2.2.3 關(guān)系的完整性 48
2.3 關(guān)系代數(shù) 49
2.3.1 關(guān)系代數(shù)的分類及其運(yùn)算符 50
2.3.2 傳統(tǒng)的集合運(yùn)算 50
2.3.3 專門的關(guān)系運(yùn)算 52
2.4 關(guān)系演算* 56
2.4.1 元組關(guān)系演算語言 57
2.4.2 域關(guān)系演算語言QBE 61
小結(jié) 65
習(xí)題 66
第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言——SQL 69
3.1 SQL的基本概念與特點(diǎn) 70
3.1.1 SQL的發(fā)展及標(biāo)準(zhǔn)化 70
3.1.2 SQL的基本概念 70
3.1.3 SQL的主要特點(diǎn) 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ù)庫的結(jié)構(gòu) 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 單關(guān)系(表)的數(shù)據(jù)查詢 94
3.5.1 單關(guān)系(表)的數(shù)據(jù)查詢結(jié)構(gòu) 94
3.5.2 無條件查詢 94
3.5.3 條件查詢 96
3.5.4 常用庫函數(shù)及統(tǒng)計(jì)匯總查詢 99
3.5.5 分組查詢 100
3.5.6 查詢結(jié)果的排序 101
3.6 多關(guān)系(表)的連接查詢 101
3.6.1 多關(guān)系(表)的連接查詢結(jié)構(gòu) 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 相關(guān)子查詢 107
3.8 其他類型查詢 108
3.8.1 集合運(yùn)算查詢 108
3.8.2 存儲(chǔ)查詢結(jié)果到表中 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
小結(jié) 121
習(xí)題 121
本章實(shí)驗(yàn) 125
第4章 關(guān)系數(shù)據(jù)庫理論 130
4.1 規(guī)范化問題的提出 131
4.1.1 規(guī)范化理論的主要內(nèi)容 131
4.1.2 不合理的關(guān)系模式存在的異常問題 131
4.2 函數(shù)依賴 133
4.2.1 函數(shù)依賴的定義 133
4.2.2 函數(shù)依賴的邏輯蘊(yùn)涵定義 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ù)依賴集的等價(jià)、覆蓋和最小函數(shù)依賴集 142
4.3 關(guān)系模式的分解* 144
4.3.1 模式分解問題 145
4.3.2 無損連接分解 145
4.3.3 無損分解的測(cè)試算法 146
4.3.4 保持函數(shù)依賴的分解 148
4.4 關(guān)系模式的范式 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ān)系模式的規(guī)范化 163
4.5.1 關(guān)系模式規(guī)范化的目的和原則 163
4.5.2 關(guān)系模式規(guī)范化的步驟 163
4.5.3 關(guān)系模式規(guī)范化的要求 164
小結(jié) 166
習(xí)題 166
第5章 數(shù)據(jù)庫安全保護(hù) 172
5.1 數(shù)據(jù)庫的安全性 173
5.1.1 數(shù)據(jù)庫安全性的含義 173
5.1.2 安全性控制的一般方法 173
5.1.3 SQL Server 2012的數(shù)據(jù)安全性機(jī)制 175
5.1.4 SQL Server 2012的身份驗(yàn)證模式 176
5.1.5 SQL Server 2012的登錄賬號(hào)和服務(wù)器角色 178
5.1.6 SQL Server 2012的數(shù)據(jù)庫用戶賬號(hào)和數(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ù)完整性的實(shí)施 188
5.2.5 規(guī)則 189
5.2.6 默認(rèn) 190
5.3 并發(fā)控制與封鎖 192
5.3.1 數(shù)據(jù)庫并發(fā)性的含義 192
5.3.2 事務(wù)(Transaction) 192
5.3.3 并發(fā)操作與數(shù)據(jù)的不一致性 193
5.3.4 封鎖 195
5.4 數(shù)據(jù)庫的恢復(fù) 200
5.4.1 數(shù)據(jù)庫恢復(fù)的含義 200
5.4.2 數(shù)據(jù)庫恢復(fù)的原理及其實(shí)現(xiàn)技術(shù) 201
5.4.3 數(shù)據(jù)庫的故障和恢復(fù)的策略 202
小結(jié) 204
習(xí)題 205
本章實(shí)驗(yàn) 207
第6章 數(shù)據(jù)庫設(shè)計(jì) 208
6.1 數(shù)據(jù)庫設(shè)計(jì)概述 209
6.1.1 數(shù)據(jù)庫設(shè)計(jì)的任務(wù)、內(nèi)容和特點(diǎn) 209
6.1.2 數(shù)據(jù)庫設(shè)計(jì)方法簡述 210
6.1.3 數(shù)據(jù)庫設(shè)計(jì)的步驟 211
6.1.4 數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)案例描述 214
6.2 系統(tǒng)需求分析 214
6.2.1 需求分析的任務(wù) 215
6.2.2 需求分析的方法 216
6.2.3 案例的需求分析 218
6.3 概念結(jié)構(gòu)設(shè)計(jì) 219
6.3.1 概念結(jié)構(gòu)設(shè)計(jì)的必要性 219
6.3.2 概念模型的特點(diǎn) 220
6.3.3 概念模型的E-R表示方法 220
6.3.4 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟 222
6.3.5 案例的概念結(jié)構(gòu)設(shè)計(jì) 227
6.4 邏輯結(jié)構(gòu)設(shè)計(jì) 229
6.4.1 邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)和步驟 229
6.4.2 初始關(guān)系模式設(shè)計(jì) 230
6.4.3 關(guān)系模式規(guī)范化 231
6.4.4 模式評(píng)價(jià)與改進(jìn) 231
6.4.5 案例的邏輯結(jié)構(gòu)設(shè)計(jì) 233
6.5 物理結(jié)構(gòu)設(shè)計(jì) 234
6.5.1 確定物理結(jié)構(gòu) 234
6.5.2 評(píng)價(jià)物理結(jié)構(gòu) 236
6.6 數(shù)據(jù)庫實(shí)施 236
6.6.1 建立實(shí)際數(shù)據(jù)庫結(jié)構(gòu) 236
6.6.2 裝入數(shù)據(jù) 236
6.6.3 應(yīng)用程序編碼與調(diào)試 237
6.6.4 數(shù)據(jù)庫試運(yùn)行 237
6.6.5 整理文檔 238
6.7 數(shù)據(jù)庫運(yùn)行和維護(hù) 238
6.7.1 維護(hù)數(shù)據(jù)庫的安全性與完整性 238
6.7.2 監(jiān)測(cè)并改善數(shù)據(jù)庫性能 238
6.7.3 重新組織和構(gòu)造數(shù)據(jù)庫 239
小結(jié) 239
習(xí)題 240
本章實(shí)驗(yàn) 243
第7章 SQL Server 2012高級(jí)應(yīng)用 247
7.1 Transact-SQL程序設(shè)計(jì) 248
7.1.1 變量 248
7.1.2 運(yùn)算符 249
7.1.3 批處理 251
7.1.4 流程控制語句 252
7.1.5 常用命令 256
7.1.6 常用函數(shù) 259
7.2 存儲(chǔ)過程 269
7.2.1 存儲(chǔ)過程的概念、優(yōu)點(diǎn)及分類 269
7.2.2 創(chuàng)建存儲(chǔ)過程 271
7.2.3 查看存儲(chǔ)過程 273
7.2.4 重新命名存儲(chǔ)過程 274
7.2.5 刪除存儲(chǔ)過程 274
7.2.6 執(zhí)行存儲(chǔ)過程 274
7.2.7 修改存儲(chǔ)過程 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)建備份設(shè)備 286
7.4.3 備份數(shù)據(jù)庫 288
7.4.4 還原數(shù)據(jù)庫 290
小結(jié) 291
習(xí)題 291
本章實(shí)驗(yàn) 292
SQL Server 2012綜合練習(xí) 294
參考文獻(xiàn) 299