全書(shū)共7 章,主要內(nèi)容包括:數(shù)據(jù)庫(kù)系統(tǒng)概述、關(guān)系數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)標(biāo)準(zhǔn)語(yǔ)言SQL、關(guān)系數(shù)據(jù)庫(kù)理論、數(shù)據(jù)庫(kù)安全保護(hù)、數(shù)據(jù)庫(kù)設(shè)計(jì)和SQL Server 2012 高級(jí)應(yīng)用。本書(shū)除介紹數(shù)據(jù)庫(kù)技術(shù)的基本原理外, 還以SQL Server 2012 為背景介紹了數(shù)據(jù)庫(kù)技術(shù)的實(shí)現(xiàn),使讀者可以充分利用SQL Server 2012 平臺(tái)深刻理解數(shù)據(jù)庫(kù)技術(shù)的原理,達(dá)到理論和實(shí)踐的緊密結(jié)合。
陳志泊,男,博士,教授,博士生導(dǎo)師,北京林業(yè)大學(xué)信息學(xué)院院長(zhǎng),計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科負(fù)責(zé)人,主要研究方向數(shù)據(jù)庫(kù)技術(shù)、林業(yè)物聯(lián)網(wǎng)及大數(shù)據(jù)處理等。 現(xiàn)任全國(guó)高等學(xué)校計(jì)算機(jī)教育研究會(huì)常務(wù)理事;全國(guó)高等院校計(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)。 主編和編寫(xiě)教材19部,其中,主編的《數(shù)據(jù)庫(kù)原理及應(yīng)用教程》、《面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一C++ (第2版)》2部教材分別被評(píng)為2005年和2008年北京市精品教材,主編的《數(shù)據(jù)庫(kù)原理及應(yīng)用教程(第2版)》、《數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘》、《Visual C++程序設(shè)計(jì)教程》3部教材被評(píng)為教育部"十一?五"普通高等教育國(guó)家級(jí)規(guī)劃教材,主編的《數(shù)據(jù)庫(kù)原理及應(yīng)用教程(第2版)》于2012年入選第一批“十二?五”普通高等教育本科國(guó)家級(jí)規(guī)劃教材。 主持和參加國(guó)家“十一?五”國(guó)家科技支撐計(jì)劃、科技部公益基金、國(guó)家林業(yè)局948項(xiàng)目、國(guó)家林業(yè)局林業(yè)公益性行業(yè)科研專(zhuān)項(xiàng)等縱向和橫向科研課題近20項(xiàng),獲計(jì)算機(jī)軟件著作權(quán)15部,獲國(guó)家發(fā)明專(zhuān)利1項(xiàng),在國(guó)內(nèi)外核心以上期刊發(fā)表科研論文近60篇,培養(yǎng)研究生30多人。
第1章 數(shù)據(jù)庫(kù)系統(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ù)庫(kù)技術(shù)的產(chǎn)生、發(fā)展 3
1.3 數(shù)據(jù)庫(kù)系統(tǒng)的組成 8
1.4 數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部體系結(jié)構(gòu) 10
1.4.1 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) 10
1.4.2 數(shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像與數(shù)據(jù)獨(dú)立性 12
1.4.3 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式與二級(jí)映像的優(yōu)點(diǎn) 13
1.5 數(shù)據(jù)庫(kù)系統(tǒng)的外部體系結(jié)構(gòu) 13
1.6 數(shù)據(jù)庫(kù)管理系統(tǒng) 15
1.6.1 DBMS的主要功能 15
1.6.2 DBMS的組成 16
1.6.3 DBMS的數(shù)據(jù)存取的過(guò)程 18
1.7 數(shù)據(jù)模型 18
1.7.1 數(shù)據(jù)模型的概念及分類(lèi) 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ù)庫(kù)領(lǐng)域的新技術(shù) 29
1.10.1 分布式數(shù)據(jù)庫(kù) 30
1.10.2 數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘技術(shù) 32
1.10.3 多媒體數(shù)據(jù)庫(kù) 34
1.10.4 大數(shù)據(jù)技術(shù) 35
小結(jié) 37
習(xí)題 38
第2章 關(guān)系數(shù)據(jù)庫(kù) 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ù)庫(kù)與關(guān)系數(shù)據(jù)庫(kù)模式 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ù)的分類(lèi)及其運(yùn)算符 50
2.3.2 傳統(tǒng)的集合運(yùn)算 50
2.3.3 專(zhuān)門(mén)的關(guān)系運(yùn)算 52
2.4 關(guān)系演算* 56
2.4.1 元組關(guān)系演算語(yǔ)言 57
2.4.2 域關(guān)系演算語(yǔ)言QBE 61
小結(jié) 65
習(xí)題 66
第3章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言——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簡(jiǎn)介 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ù)庫(kù)的創(chuàng)建和使用 74
3.3.1 數(shù)據(jù)庫(kù)的結(jié)構(gòu) 74
3.3.2 SQL Server 2012的系統(tǒng)數(shù)據(jù)庫(kù) 75
3.3.3 SQL Server的示例數(shù)據(jù)庫(kù) 76
3.3.4 創(chuàng)建用戶(hù)數(shù)據(jù)庫(kù) 76
3.3.5 修改用戶(hù)數(shù)據(jù)庫(kù) 78
3.3.6 刪除用戶(hù)數(shù)據(jù)庫(kù) 80
3.3.7 查看數(shù)據(jù)庫(kù)信息 81
3.3.8 遷移用戶(hù)數(shù)據(jù)庫(kù) 81
3.4 數(shù)據(jù)表的創(chuàng)建和使用 83
3.4.1 數(shù)據(jù)類(lèi)型 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ù)查詢(xún) 94
3.5.1 單關(guān)系(表)的數(shù)據(jù)查詢(xún)結(jié)構(gòu) 94
3.5.2 無(wú)條件查詢(xún) 94
3.5.3 條件查詢(xún) 96
3.5.4 常用庫(kù)函數(shù)及統(tǒng)計(jì)匯總查詢(xún) 99
3.5.5 分組查詢(xún) 100
3.5.6 查詢(xún)結(jié)果的排序 101
3.6 多關(guān)系(表)的連接查詢(xún) 101
3.6.1 多關(guān)系(表)的連接查詢(xún)結(jié)構(gòu) 101
3.6.2 內(nèi)連接查詢(xún) 102
3.6.3 外連接查詢(xún) 103
3.6.4 交叉查詢(xún) 104
3.6.5 自連接查詢(xún) 104
3.7 子查詢(xún) 105
3.7.1 普通子查詢(xún) 105
3.7.2 相關(guān)子查詢(xún) 107
3.8 其他類(lèi)型查詢(xún) 108
3.8.1 集合運(yùn)算查詢(xún) 108
3.8.2 存儲(chǔ)查詢(xún)結(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 查詢(xún)視圖 115
3.10.5 更新視圖 115
3.11 創(chuàng)建與使用索引 116
3.11.1 索引概述 116
3.11.2 索引的類(lèi)型 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ù)庫(kù)理論 130
4.1 規(guī)范化問(wèn)題的提出 131
4.1.1 規(guī)范化理論的主要內(nèi)容 131
4.1.2 不合理的關(guān)系模式存在的異常問(wèn)題 131
4.2 函數(shù)依賴(lài) 133
4.2.1 函數(shù)依賴(lài)的定義 133
4.2.2 函數(shù)依賴(lài)的邏輯蘊(yùn)涵定義 135
4.2.3 函數(shù)依賴(lài)的推理規(guī)則及正確性 135
4.2.4 完全函數(shù)依賴(lài)與部分函數(shù)依賴(lài) 138
4.2.5 傳遞函數(shù)依賴(lài) 138
4.2.6 屬性集的閉包及其算法 138
4.2.7 候選碼的求解理論和算法 139
4.2.8 函數(shù)依賴(lài)推理規(guī)則的完備性 141
4.2.9 函數(shù)依賴(lài)集的等價(jià)、覆蓋和最小函數(shù)依賴(lài)集 142
4.3 關(guān)系模式的分解* 144
4.3.1 模式分解問(wèn)題 145
4.3.2 無(wú)損連接分解 145
4.3.3 無(wú)損分解的測(cè)試算法 146
4.3.4 保持函數(shù)依賴(lài)的分解 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 多值依賴(lài)與第四范式 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ù)庫(kù)安全保護(hù) 172
5.1 數(shù)據(jù)庫(kù)的安全性 173
5.1.1 數(shù)據(jù)庫(kù)安全性的含義 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ù)庫(kù)用戶(hù)賬號(hào)和數(shù)據(jù)庫(kù)角色 181
5.2 完整性控制 186
5.2.1 數(shù)據(jù)庫(kù)完整性的含義 186
5.2.2 完整性規(guī)則的組成 186
5.2.3 完整性約束條件的分類(lèi) 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ù)庫(kù)并發(fā)性的含義 192
5.3.2 事務(wù)(Transaction) 192
5.3.3 并發(fā)操作與數(shù)據(jù)的不一致性 193
5.3.4 封鎖 195
5.4 數(shù)據(jù)庫(kù)的恢復(fù) 200
5.4.1 數(shù)據(jù)庫(kù)恢復(fù)的含義 200
5.4.2 數(shù)據(jù)庫(kù)恢復(fù)的原理及其實(shí)現(xiàn)技術(shù) 201
5.4.3 數(shù)據(jù)庫(kù)的故障和恢復(fù)的策略 202
小結(jié) 204
習(xí)題 205
本章實(shí)驗(yàn) 207
第6章 數(shù)據(jù)庫(kù)設(shè)計(jì) 208
6.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 209
6.1.1 數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)、內(nèi)容和特點(diǎn) 209
6.1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)方法簡(jiǎn)述 210
6.1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 211
6.1.4 數(shù)據(jù)庫(kù)系統(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ù)庫(kù)實(shí)施 236
6.6.1 建立實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu) 236
6.6.2 裝入數(shù)據(jù) 236
6.6.3 應(yīng)用程序編碼與調(diào)試 237
6.6.4 數(shù)據(jù)庫(kù)試運(yùn)行 237
6.6.5 整理文檔 238
6.7 數(shù)據(jù)庫(kù)運(yùn)行和維護(hù) 238
6.7.1 維護(hù)數(shù)據(jù)庫(kù)的安全性與完整性 238
6.7.2 監(jiān)測(cè)并改善數(shù)據(jù)庫(kù)性能 238
6.7.3 重新組織和構(gòu)造數(shù)據(jù)庫(kù) 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 流程控制語(yǔ)句 252
7.1.5 常用命令 256
7.1.6 常用函數(shù) 259
7.2 存儲(chǔ)過(guò)程 269
7.2.1 存儲(chǔ)過(guò)程的概念、優(yōu)點(diǎn)及分類(lèi) 269
7.2.2 創(chuàng)建存儲(chǔ)過(guò)程 271
7.2.3 查看存儲(chǔ)過(guò)程 273
7.2.4 重新命名存儲(chǔ)過(guò)程 274
7.2.5 刪除存儲(chǔ)過(guò)程 274
7.2.6 執(zhí)行存儲(chǔ)過(guò)程 274
7.2.7 修改存儲(chǔ)過(guò)程 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ù)庫(kù) 288
7.4.4 還原數(shù)據(jù)庫(kù) 290
小結(jié) 291
習(xí)題 291
本章實(shí)驗(yàn) 292
SQL Server 2012綜合練習(xí) 294
參考文獻(xiàn) 299