本書以SQL Server 2019的功能為中心,融知識、能力和素質(zhì)教育于工程項目教學管理系統(tǒng)這一設計案例中,深入淺出地講述數(shù)據(jù)庫技術的內(nèi)在機制和操作規(guī)范。本書將整個數(shù)據(jù)庫知識體系分為原理(第1~3章)、應用(第4~12章)與開發(fā)(第13章)3個模塊,保證學生在掌握必要的數(shù)據(jù)庫原理知識的基礎上,具備熟練操作數(shù)據(jù)庫的能力和開發(fā)數(shù)據(jù)庫應用系統(tǒng)的技能。各模塊既能自成體系,又能自然銜接,從而滿足不同專業(yè)的教學需求。本書每章附有練習題,供讀者課后練習和綜合實踐使用。
本書為慕課版教材,各章主要內(nèi)容配備了以二維碼為載體的微課。本書既可作為應用型本科院校計算機類、電子信息類和經(jīng)濟管理類等相關專業(yè)的數(shù)據(jù)庫原理與應用類課程的教材,又可作為研究生相關專業(yè)的數(shù)據(jù)庫技術教材,對于從事軟件開發(fā)、信息管理的人員也有一定的參考價值。
1.運用模塊化理念的關聯(lián)原則,融知識于學習情境中。
2.引入互聯(lián)網(wǎng)思維,構建互聯(lián)網(wǎng) 背景下新形態(tài)課程教材。
3.理論和實踐的協(xié)調(diào)統(tǒng)一,全書系統(tǒng)性的介紹數(shù)據(jù)庫的基本原理和基本應用,打破普通教材原理與應用偏頗狀況。
葉潮流 葉潮流,人工智能與大數(shù)據(jù)學院 ,曾出版過《ASP程序設計》《數(shù)據(jù)庫原理與應用》本書即可作為應用型本科院校計算機、電子信息類和經(jīng)管類等相關專業(yè)的數(shù)據(jù)庫原理與應用類課程教材,也可作為從事軟件開發(fā)、信息管理人員的參考書。
模塊一 原理
第1章 數(shù)據(jù)庫系統(tǒng)概述
本章導讀 2
1.1 數(shù)據(jù)庫技術概述 3
1.1.1 數(shù)據(jù)與信息 3
1.1.2 數(shù)據(jù)處理與數(shù)據(jù)管理 3
1.1.3 數(shù)據(jù)管理技術的發(fā)展 4
1.1.4 數(shù)據(jù)庫系統(tǒng)的組成 4
1.2 數(shù)據(jù)模型 5
1.2.1 數(shù)據(jù)模型的背景 5
1.2.2 數(shù)據(jù)模型的要素 7
1.2.3 數(shù)據(jù)模型的分層 7
1.2.4 邏輯數(shù)據(jù)模型的分類 8
1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構 11
1.3.1 模式與體系結(jié)構 11
1.3.2 三級模式結(jié)構和兩層映像 11
1.4 數(shù)據(jù)庫設計 13
1.4.1 數(shù)據(jù)庫設計概述 13
1.4.2 E-R模型 14
1.4.3 E-R模型向關系模型轉(zhuǎn)換 15
本章小結(jié) 16
習題1 16
第2章 關系數(shù)據(jù)庫數(shù)學模型
本章導讀 18
2.1 關系模型概述 19
2.1.1 關系模型的數(shù)據(jù)結(jié)構 19
2.1.2 關系模型的數(shù)據(jù)操縱 19
2.1.3 關系模型的完整性約束 19
2.2 關系的數(shù)學模型 20
2.2.1 關系的數(shù)學定義 20
2.2.2 關系模式 21
2.2.3 關系數(shù)據(jù)庫 22
2.3 關系代數(shù) 22
2.3.1 關系代數(shù)概述 22
2.3.2 傳統(tǒng)集合運算 23
2.3.3 專門關系運算 25
2.4* 關系演算 29
2.4.1 元組關系演算 30
2.4.2 域關系演算 32
2.4.3 關系運算的安全性和等價性 33
本章小結(jié) 34
習題2 34
第3章* 關系數(shù)據(jù)庫的規(guī)范化理論
本章導讀 37
3.1 數(shù)據(jù)操作異常問題 38
3.2 函數(shù)依賴 38
3.2.1 函數(shù)依賴的概念 39
3.2.2 函數(shù)依賴的分類 39
3.2.3 主碼和外碼 40
3.3 函數(shù)依賴的公理系統(tǒng) 41
3.3.1 Armstrong公理系統(tǒng) 41
3.3.2 閉包 41
3.3.3 候選碼的確定 43
3.3.4 函數(shù)依賴集等價和小函數(shù)依賴集 43
3.4 規(guī)范化與模式分解 45
3.4.1 范式的概念 45
3.4.2 范式的類型 45
3.4.3 規(guī)范化小結(jié) 47
3.4.4 模式分解 48
本章小結(jié) 49
習題3 50
模塊二 應用
第4章 數(shù)據(jù)庫的創(chuàng)建與管理
本章導讀 55
4.1 數(shù)據(jù)庫概述 56
4.1.1 數(shù)據(jù)庫類型 56
4.1.2 數(shù)據(jù)庫文件 56
4.1.3 文件組 57
4.2 數(shù)據(jù)庫的創(chuàng)建 57
4.2.1 使用SSMS創(chuàng)建數(shù)據(jù)庫 57
4.2.2 使用T-SQL語句創(chuàng)建數(shù)據(jù)庫 59
4.3 數(shù)據(jù)庫的修改 60
4.3.1 使用SSMS修改數(shù)據(jù)庫 60
4.3.2 使用T-SQL語句修改數(shù)據(jù)庫 62
4.4 數(shù)據(jù)庫的刪除 63
4.4.1 使用SSMS刪除數(shù)據(jù)庫 63
4.4.2 使用T-SQL語句刪除數(shù)據(jù)庫 64
4.5 數(shù)據(jù)庫的收縮 64
4.5.1 收縮數(shù)據(jù)庫 64
4.5.2 收縮數(shù)據(jù)庫文件 64
4.6 數(shù)據(jù)庫的分離與附加 65
4.6.1 分離 65
4.6.2 附加 65
本章小結(jié) 67
習題4 67
第5章 表的創(chuàng)建與管理
本章導讀 71
5.1 數(shù)據(jù)表概述 72
5.1.1 表類型 72
5.1.2 數(shù)據(jù)類型 72
5.1.3 用戶表結(jié)構 75
5.2 完整性約束 76
5.2.1 實體完整性 76
5.2.2 參照完整性 77
5.2.3 用戶自定義完整性 77
5.3 數(shù)據(jù)表的創(chuàng)建 78
5.3.1 使用SSMS創(chuàng)建數(shù)據(jù)表 78
5.3.2 使用T-SQL語句創(chuàng)建數(shù)據(jù)表 79
5.4 數(shù)據(jù)表的修改 80
5.4.1 使用SSMS修改數(shù)據(jù)表 81
5.4.2 使用T-SQL語句修改數(shù)據(jù)表 83
5.5 數(shù)據(jù)表的刪除 85
5.5.1 使用SSMS刪除數(shù)據(jù)表 86
5.5.2 使用T-SQL語句刪除數(shù)據(jù)表 86
本章小結(jié) 86
習題5 86
第6章 數(shù)據(jù)操作與SQL語句
本章導讀 91
6.1 數(shù)據(jù)操作概述 92
6.1.1 表中數(shù)據(jù) 92
6.1.2 操作表數(shù)據(jù) 93
6.1.3 操作語言概述 94
6.2 數(shù)據(jù)查詢 95
6.2.1 簡單查詢 95
6.2.2 連接查詢 100
6.2.3 嵌套查詢 102
6.2.4 集合查詢 104
6.3 數(shù)據(jù)修改 105
6.3.1 數(shù)據(jù)插入 106
6.3.2 數(shù)據(jù)更新 107
6.3.3 數(shù)據(jù)刪除 107
6.3.4 清空表內(nèi)容 108
本章小結(jié) 108
習題6 108
第7章* T-SQL程序設計
本章導讀 112
7.1 程序設計基礎 113
7.1.1 常量 113
7.1.2 變量 114
7.1.3 運算符 116
7.2 流程控制語句 118
7.2.1 塊語句 118
7.2.2 二分支語句 118
7.2.3 多分支表達式 119
7.2.4 循環(huán)語句 121
7.2.5 其他語句 122
7.3 內(nèi)置函數(shù) 125
7.3.1 內(nèi)置函數(shù)類型 125
7.3.2 聚集函數(shù) 125
7.3.3 數(shù)學函數(shù) 125
7.3.4 字符串函數(shù) 126
7.3.5 日期 時間函數(shù) 126
7.3.6 轉(zhuǎn)換函數(shù) 127
7.3.7 系統(tǒng)函數(shù) 129
7.4 用戶自定義函數(shù) 129
7.4.1 標量函數(shù) 129
7.4.2 內(nèi)嵌表值函數(shù) 131
7.4.3 多語句表值函數(shù) 131
7.4.4 管理函數(shù) 132
本章小結(jié) 132
習題7 133
第8章 視圖、索引和游標
本章導讀 136
8.1 視圖 137
8.1.1 視圖的優(yōu)點 137
8.1.2 創(chuàng)建視圖 137
8.1.3 管理視圖 139
8.1.4 應用視圖 140
8.2 索引 140
8.2.1 索引的分類 140
8.2.2 創(chuàng)建索引 141
8.2.3 刪除索引 143
8.2.4 維護索引 143
8.3* 游標 144
8.3.1 游標概述 144
8.3.2 游標使用流程 145
8.3.3 應用游標 149
8.3.4 游標狀態(tài) 150
本章小結(jié) 150
習題8 150
第9章* 存儲過程和觸發(fā)器
本章導讀 155
9.1 存儲過程 156
9.1.1 存儲過程的類型 156
9.1.2 存儲過程的創(chuàng)建 156
9.1.3 存儲過程的執(zhí)行 158
9.1.4 存儲過程的修改 159
9.1.5 存儲過程的刪除 159
9.1.6 存儲過程的應用 160
9.2 觸發(fā)器 162
9.2.1 觸發(fā)器的分類 162
9.2.2 觸發(fā)器的創(chuàng)建 163
9.2.3 觸發(fā)器的修改 169
9.2.4 觸發(fā)器的禁用和啟用 170
9.2.5 觸發(fā)器的刪除 170
9.2.6 DML觸發(fā)器的應用 170
本章小結(jié) 172
習題9 173
第10章 備份和恢復
本章導讀 176
10.1* 故障概述 177
10.1.1 事務(內(nèi)部)故障 177
10.1.2 系統(tǒng)故障 177
10.1.3 介質(zhì)故障 177
10.1.4 計算機病毒故障 177
10.2 備份和恢復概述 177
10.2.1 恢復模式 178
10.2.2 備份概述 179
10.2.3 備份設備 181
10.3 備份操作 183
10.3.1 使用SSMS執(zhí)行備份操作 183
10.3.2 使用T-SQL語句執(zhí)行備份操作 185
10.4 恢復操作 188
10.4.1 使用SSMS執(zhí)行恢復操作 188
10.4.2 使用T-SQL語句執(zhí)行恢復操作 191
本章小結(jié) 194
習題10 194
第11章 數(shù)據(jù)庫安全性管理
本章導讀 197
11.1 安全性概述 198
11.1.1* 計算機安全性概述 198
11.1.2 數(shù)據(jù)庫安全性概述 199
11.2 登錄賬戶 199
11.2.1 登錄賬戶概述 199
11.2.2 創(chuàng)建登錄賬戶 201
11.2.3 管理登錄賬戶 203
11.2.4* 查看登錄賬戶 204
11.3 數(shù)據(jù)庫用戶 204
11.3.1 數(shù)據(jù)庫用戶概述 204
11.3.2 創(chuàng)建數(shù)據(jù)庫用戶 205
11.3.3 管理數(shù)據(jù)庫用戶 206
11.3.4* 查看數(shù)據(jù)庫用戶 207
11.4 角色 208
11.4.1 角色類型概述 208
11.4.2 創(chuàng)建服務器角色 209
11.4.3 管理服務器角色 210
11.4.4 創(chuàng)建數(shù)據(jù)庫角色 210
11.4.5 管理數(shù)據(jù)庫角色 213
11.5 架構 215
11.5.1 架構概述 215
11.5.2 創(chuàng)建架構 215
11.5.3 管理架構 216
11.6 操作權限 217
11.6.1 權限概述 217
11.6.2 權限管理 218
本章小結(jié) 225
習題11 226
第12章* 并發(fā)控制
本章導讀 229
12.1 事務處理 230
12.1.1 事務概述 230
12.1.2 事務模式 230
12.2 并發(fā)訪問 232
12.2.1 并發(fā)概述 232
12.2.2 并發(fā)異常 233
12.2.3 并發(fā)調(diào)度 234
12.3 鎖 236
12.3.1 鎖的模式 236
12.3.2 封鎖協(xié)議 237
12.3.3 兩段鎖協(xié)議 238
12.3.4 鎖的粒度 239
12.3.5 查看鎖的信息 240
12.3.6 鎖定提示 242
12.3.7 活鎖與死鎖 244
12.4 事務隔離級別 247
12.4.1 隔離級別概述 247
12.4.2 ISO標準事務隔離級別 248
12.4.3 T-SQL行版本隔離級別 251
本章小結(jié) 253
習題12 253
參考文獻