本書(shū)系統(tǒng)地介紹SQL Server的相關(guān)原理、管理和應(yīng)用程序設(shè)計(jì),原理、管理、程序設(shè)計(jì)并重,以一個(gè)數(shù)據(jù)庫(kù)實(shí)例貫穿始終,將SQL Server技術(shù)分解成16個(gè)專(zhuān)題,每個(gè)專(zhuān)題根據(jù)自身技術(shù)特點(diǎn)對(duì)操作進(jìn)行實(shí)例分析。主要內(nèi)容包括數(shù)據(jù)庫(kù)原理與數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì),數(shù)據(jù)庫(kù)存儲(chǔ)原理和數(shù)據(jù)庫(kù)創(chuàng)建,數(shù)據(jù)庫(kù)表結(jié)構(gòu)分析和表的創(chuàng)建與管理;數(shù)據(jù)庫(kù)程序機(jī)構(gòu)及設(shè)計(jì),自定義函數(shù)設(shè)計(jì),游標(biāo)技術(shù)及操作,存儲(chǔ)過(guò)程和觸發(fā)器,事務(wù)和并發(fā)控制,視圖的規(guī)劃、設(shè)計(jì)與操作,索引的機(jī)理和設(shè)計(jì),數(shù)據(jù)安全及訪問(wèn)控制、數(shù)據(jù)備份與恢復(fù)等。每章均配有針對(duì)性實(shí)驗(yàn),提供配套電子課件、實(shí)例數(shù)據(jù)庫(kù)、習(xí)題參考答案和教學(xué)網(wǎng)站。
☆ 提供配套電子課件、課程教學(xué)網(wǎng)站、實(shí)例數(shù)據(jù)庫(kù)、習(xí)題參考答案。◎ 一個(gè)大型數(shù)據(jù)庫(kù)實(shí)例貫穿全書(shū)。◎ 原理、管理、程序設(shè)計(jì)并重。◎ 分解難點(diǎn),設(shè)計(jì)成16個(gè)專(zhuān)題,既獨(dú)立成章,又前后關(guān)聯(lián),每周一個(gè)內(nèi)容,便于教學(xué)。◎ 內(nèi)容全面,例題豐富,概念清晰,循序漸進(jìn),易于學(xué)習(xí)。
孟憲虎,浙江財(cái)經(jīng)大學(xué)教授,有豐富的教學(xué)、科研和寫(xiě)作經(jīng)驗(yàn),從事高等學(xué)校計(jì)算機(jī)教學(xué)三十余年,完成多項(xiàng)國(guó)家和省部級(jí)科研項(xiàng)目,出版多部教材和專(zhuān)著。
第一章 數(shù)據(jù)庫(kù)基礎(chǔ)和數(shù)據(jù)庫(kù)設(shè)計(jì) 1
1.1 數(shù)據(jù)庫(kù)系統(tǒng) 1
1.1.1 數(shù)據(jù)、信息、數(shù)據(jù)庫(kù) 1
1.1.2 數(shù)據(jù)庫(kù)管理系統(tǒng) 2
1.2 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu) 2
1.2.1 數(shù)據(jù)庫(kù)系統(tǒng)模式的概念 2
1.2.2 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) 3
1.2.3 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)
獨(dú)立性 4
1.2.4 數(shù)據(jù)庫(kù)系統(tǒng)用戶(hù)結(jié)構(gòu) 4
1.3 關(guān)系數(shù)據(jù)庫(kù)及其設(shè)計(jì) 6
1.3.1 關(guān)系數(shù)據(jù)庫(kù) 6
1.3.2 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì) 6
1.3.3 關(guān)系數(shù)據(jù)庫(kù)的完整性 12
1.4 教學(xué)管理數(shù)據(jù)庫(kù)操作任務(wù) 13
實(shí)驗(yàn)與思考 15
第2章 服務(wù)器安裝配置和使用 17
2.1 SQL Server概述 17
2.1.1 SQL Server版本和環(huán)境需求 17
2.1.2 SQL Server的特點(diǎn)和組成 17
2.1.3 SQL Server 安裝需注意 19
2.1.4 SQL Server Management Studio
介紹 21
2.1.5 分離和附加數(shù)據(jù)庫(kù)文件 22
2.2 網(wǎng)絡(luò)協(xié)議配置 23
2.2.1 SQL Server通信結(jié)構(gòu) 23
2.2.2 配置服務(wù)器端網(wǎng)絡(luò)協(xié)議 24
2.2.3 配置客戶(hù)端網(wǎng)絡(luò)協(xié)議 25
2.3 添加新的注冊(cè)服務(wù)器 25
2.3.1 新建注冊(cè)服務(wù)器 25
2.3.2 連接到數(shù)據(jù)庫(kù)服務(wù)器 26
2.4 鏈接服務(wù)器建立及其使用 26
2.4.1 鏈接服務(wù)器簡(jiǎn)介 26
2.4.2 創(chuàng)建鏈接服務(wù)器 27
2.4.3 創(chuàng)建鏈接服務(wù)器登錄標(biāo)志 28
2.4.4 訪問(wèn)鏈接服務(wù)器 29
2.4.5 訪問(wèn)鏈接服務(wù)器的實(shí)例 30
實(shí)驗(yàn)與思考 31
第3章 SQL Server數(shù)據(jù)庫(kù)結(jié)構(gòu)和管理 33
3.1 數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu) 33
3.1.1 數(shù)據(jù)庫(kù)文件和文件組 33
3.1.2 數(shù)據(jù)文件的使用分配 35
3.1.3 事務(wù)日志文件結(jié)構(gòu) 37
3.2 數(shù)據(jù)庫(kù)的邏輯組織 39
3.2.1 數(shù)據(jù)庫(kù)構(gòu)架 39
3.2.2 系統(tǒng)數(shù)據(jù)庫(kù) 40
3.2.3 用戶(hù)數(shù)據(jù)庫(kù) 41
3.3 數(shù)據(jù)庫(kù)創(chuàng)建與管理 41
3.3.1 創(chuàng)建數(shù)據(jù)庫(kù) 41
3.3.2 管理數(shù)據(jù)庫(kù) 44
實(shí)驗(yàn)與思考 49
第4章 表的存儲(chǔ)原理及完整性創(chuàng)建管理 50
4.1 SQL Server表的類(lèi)型 50
4.1.1 SQL Server的臨時(shí)表 50
4.1.2 SQL Server的系統(tǒng)表和系統(tǒng)視圖 51
4.2 表的存儲(chǔ)原理 52
4.2.1 內(nèi)部存儲(chǔ)概述 52
4.2.2 SQL Server數(shù)據(jù)記錄結(jié)構(gòu) 53
4.3 SQL Server數(shù)據(jù)類(lèi)型 56
4.3.1 數(shù)值型數(shù)據(jù) 56
4.3.2 貨幣型數(shù)據(jù) 56
4.3.3 字符型數(shù)據(jù) 57
4.3.4 日期/時(shí)間數(shù)據(jù)類(lèi)型 57
4.4 數(shù)據(jù)表的創(chuàng)建和管理 57
4.4.1 數(shù)據(jù)表結(jié)構(gòu)的創(chuàng)建 57
4.4.2 數(shù)據(jù)表結(jié)構(gòu)的管理 64
實(shí)驗(yàn)與思考 66
第5章 查詢(xún)處理和表數(shù)據(jù)編輯 68
5.1 查詢(xún)數(shù)據(jù) 68
5.1.1 簡(jiǎn)單查詢(xún) 68
5.1.2 統(tǒng)計(jì) 75
5.1.3 連接查詢(xún) 78
5.1.4 子查詢(xún) 80
5.1.5 聯(lián)合查詢(xún) 83
5.2 表數(shù)據(jù)編輯 83
5.2.1 插入數(shù)據(jù) 83
5.2.2 修改數(shù)據(jù) 85
5.2.3 刪除數(shù)據(jù) 86
實(shí)驗(yàn)與思考 87
第6章 索引的機(jī)理、規(guī)劃和管理 89
6.1 索引的作用與結(jié)構(gòu) 89
6.1.1 索引概述 89
6.1.2 SQL Server索引下的數(shù)據(jù)組織
結(jié)構(gòu) 90
6.2 索引類(lèi)型 92
6.2.1 聚集索引和非聚集索引 93
6.2.2 主鍵索引和非主鍵索引 93
6.2.3 唯一索引和非唯一索引 93
6.2.4 單列索引和復(fù)合索引 93
6.3 規(guī)劃設(shè)計(jì)索引的一般原則 94
6.3.1 什么類(lèi)型查詢(xún)適合建立索引 94
6.3.2 索引設(shè)計(jì)的其他準(zhǔn)則 94
6.3.3 索引的特征 95
6.3.4 在文件組上合理放置索引 95
6.3.5 索引優(yōu)化建議 96
6.4 索引的創(chuàng)建和刪除 96
6.4.1 創(chuàng)建索引 96
6.4.2 刪除索引 99
6.5 查詢(xún)中的執(zhí)行計(jì)劃 100
6.5.1 查看查詢(xún)執(zhí)行計(jì)劃 101
6.5.2 索引和未索引執(zhí)行計(jì)劃的比較 102
6.6 索引使用中的維護(hù) 105
6.6.1 維護(hù)索引的統(tǒng)計(jì)信息 105
6.6.2 維護(hù)索引碎片 106
實(shí)驗(yàn)與思考 108
第7章 SQL Server事務(wù)和并發(fā)控制 109
7.1 事務(wù) 109
7.1.1 事務(wù)與并發(fā)控制的關(guān)系 109
7.1.2 事務(wù)對(duì)保障數(shù)據(jù)一致和完整性
的作用 110
7.2 事務(wù)的分類(lèi)和控制 111
7.2.1 事務(wù)的分類(lèi) 111
7.2.2 事務(wù)控制 112
7.3 編寫(xiě)有效事務(wù)的建議 114
7.3.1 編寫(xiě)有效事務(wù)的指導(dǎo)原則 114
7.3.2 避免并發(fā)問(wèn)題 114
7.4 事務(wù)處理實(shí)例分析 115
7.5 分布式事務(wù) 118
7.5.1 分布式事務(wù)的兩階段提交 118
7.5.2 分布式事務(wù)的處理過(guò)程 119
7.5.3 分布式事務(wù)實(shí)例分析 119
7.6 并發(fā)控制 120
7.6.1 SQL Server鎖的粒度及模式 120
7.6.2 封鎖協(xié)議 123
7.6.3 事務(wù)隔離 124
7.6.4 死鎖處理 126
實(shí)驗(yàn)與思考 127
第8章 Transact-SQL程序結(jié)構(gòu) 129
8.1 注釋和變量 129
8.1.1 T-SQL程序的基本結(jié)構(gòu) 129
8.1.2 注釋 131
8.1.3 變量 132
8.1.4 變量賦值 132
8.2 運(yùn)算符和表達(dá)式 133
8.2.1 算術(shù)運(yùn)算符 133
8.2.2 位運(yùn)算符 133
8.2.3 連接運(yùn)算符 133
8.2.4 比較運(yùn)算符 133
8.2.5 邏輯運(yùn)算符 133
8.2.6 表達(dá)式 134
8.3 函數(shù) 134
8.3.1 數(shù)學(xué)函數(shù) 134
8.3.2 字符串函數(shù) 135
8.3.3 時(shí)間日期函數(shù) 137
8.3.4 轉(zhuǎn)換函數(shù) 138
8.3.5 配置函數(shù) 139
8.4 流程控制 140
8.4.1 塊語(yǔ)句 140
8.4.2 條件語(yǔ)句 141
8.4.3 CASE語(yǔ)句 141
8.4.4 循環(huán)語(yǔ)句 143
8.4.5 等待語(yǔ)句 143
8.4.6 GOTO語(yǔ)句 144
8.4.7 返回語(yǔ)句 144
8.5 程序應(yīng)用實(shí)例分析 145
實(shí)驗(yàn)與思考 147
第9章 視圖的規(guī)劃與操作 148
9.1 視圖的作用與規(guī)劃 148
9.1.1 視圖的作用 148
9.1.2 視圖的規(guī)劃 149
9.2 視圖操作 150
9.2.1 創(chuàng)建視圖 150
9.2.2 視圖的修改、重命名和刪除 154
9.2.3 查詢(xún)視圖 156
9.2.4 更新視圖 157
9.2.5 特殊類(lèi)型視圖簡(jiǎn)介 160
9.3 視圖應(yīng)用綜合實(shí)例分析 164
實(shí)驗(yàn)與思考 167
第10章 游標(biāo)操作和應(yīng)用 168
10.1 游標(biāo)聲明 169
10.1.1 游標(biāo)聲明 169
10.1.2 游標(biāo)變量 171
10.2 游標(biāo)數(shù)據(jù)操作 172
10.2.1 打開(kāi)游標(biāo) 172
10.2.2 讀取游標(biāo)數(shù)據(jù) 173
10.2.3 關(guān)閉游標(biāo) 175
10.2.4 釋放游標(biāo) 175
10.2.5 游標(biāo)定位修改和刪除操作 177
10.3 游標(biāo)應(yīng)用實(shí)例分析 178
實(shí)驗(yàn)與思考 180
第11章 用戶(hù)自定義函數(shù)設(shè)計(jì) 181
11.1 用戶(hù)自定義函數(shù)概述 181
11.1.1 用戶(hù)自定義函數(shù)的特點(diǎn) 181
11.1.2 用戶(hù)自定義函數(shù)的類(lèi)型 181
11.2 創(chuàng)建用戶(hù)自定義函數(shù) 182
11.2.1 使用對(duì)象資源管理器 182
11.2.2 使用CREATE FUNCTION命令
創(chuàng)建用戶(hù)自定義函數(shù) 183
11.3 用戶(hù)自定義函數(shù)的調(diào)用 187
11.4 修改和刪除用戶(hù)自定義函數(shù) 188
11.4.1 修改用戶(hù)自定義函數(shù) 188
11.4.2 刪除用戶(hù)自定義函數(shù) 190
11.5 用戶(hù)自定義函數(shù)實(shí)例分析 190
實(shí)驗(yàn)與思考 192
第12章 存儲(chǔ)過(guò)程和用戶(hù)存儲(chǔ)過(guò)程設(shè)計(jì) 194
12.1 存儲(chǔ)過(guò)程概述 194
12.1.1 存儲(chǔ)過(guò)程的概念和分類(lèi) 194
12.1.2 存儲(chǔ)過(guò)程的優(yōu)點(diǎn) 194
12.2 系統(tǒng)存儲(chǔ)過(guò)程 195
12.2.1 系統(tǒng)存儲(chǔ)過(guò)程分類(lèi) 195
12.2.2 一些常用的系統(tǒng)存儲(chǔ)過(guò)程 196
12.3 創(chuàng)建和執(zhí)行用戶(hù)存儲(chǔ)過(guò)程 197
12.3.1 創(chuàng)建用戶(hù)存儲(chǔ)過(guò)程 197
12.3.2 執(zhí)行用戶(hù)存儲(chǔ)過(guò)程 199
12.4 帶狀態(tài)參數(shù)的存儲(chǔ)過(guò)程及實(shí)例
分析 203
12.4.1 存儲(chǔ)過(guò)程執(zhí)行狀態(tài)值的返回 203
12.4.2 實(shí)例分析 203
12.5 修改和刪除存儲(chǔ)過(guò)程 205
12.5.1 修改存儲(chǔ)過(guò)程 205
12.5.2 刪除存儲(chǔ)過(guò)程 206
12.6 存儲(chǔ)過(guò)程設(shè)計(jì)實(shí)例分析 207
實(shí)驗(yàn)與思考 211
第13章 觸發(fā)器原理及使用 212
13.1 觸發(fā)器基本概念 212
13.1.1 觸發(fā)器的概念及作用 212
13.1.2 觸發(fā)器的種類(lèi) 213
13.2 觸發(fā)器原理 213
13.2.1 插入表的功能 213
13.2.2 刪除表的功能 214
13.2.3 插入視圖和刪除視圖 214
13.3 觸發(fā)器的創(chuàng)建和管理 214
13.3.1 創(chuàng)建觸發(fā)器 214
13.3.2 管理觸發(fā)器 218
13.3.3 修改、刪除觸發(fā)器 219
13.4 使用觸發(fā)器實(shí)現(xiàn)強(qiáng)制業(yè)務(wù)規(guī)則 220
13.4.1 INSERT觸發(fā)器 220
13.4.2 UPDATE觸發(fā)器 221
13.4.3 DELETE 觸發(fā)器 222
13.4.4 INSTEAD OF 觸發(fā)器 223
13.4.5 遞歸觸發(fā)器 225
13.4.6 嵌套觸發(fā)器 225
13.5 使用觸發(fā)器的T-SQL限制 225
13.6 觸發(fā)器應(yīng)用實(shí)例分析 226
實(shí)驗(yàn)與思考 229
第14章 數(shù)據(jù)庫(kù)安全及訪問(wèn)控制 231
14.1 SQL Server安全認(rèn)證模式 231
14.2 SQL Server登錄賬戶(hù)的管理 232
14.2.1 Windows登錄賬戶(hù)的建立
與刪除 232
14.2.2 SQL Server登錄賬戶(hù)建立
與刪除 234
14.3 數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限的建立與刪除 236
14.3.1 建立用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限 236
14.3.2 刪除用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限 237
14.4 角色管理 238
14.4.1 固定服務(wù)器角色 238
14.4.2 數(shù)據(jù)庫(kù)角色 240
14.5 數(shù)據(jù)庫(kù)權(quán)限管理 246
14.5.1 權(quán)限種類(lèi) 246
14.5.2 授予權(quán)限 247
14.5.3 禁止權(quán)限 249
14.5.4 取消權(quán)限 250
14.6 安全控制設(shè)置的實(shí)例分析 251
實(shí)驗(yàn)與思考 253
第15章 數(shù)據(jù)備份與恢復(fù) 255
15.1 數(shù)據(jù)備份概述 255
15.1.1 備份策略規(guī)劃 255
15.1.2 數(shù)據(jù)一致性檢查 257
15.2 備份前的準(zhǔn)備 258
15.2.1 設(shè)置恢復(fù)模式 258
15.2.2 掌握備份設(shè)備管理 259
15.3 數(shù)據(jù)庫(kù)備份 261
15.3.1 BACKUP語(yǔ)句的語(yǔ)法格式 261
15.3.2 執(zhí)行數(shù)據(jù)庫(kù)備份 262
15.4 數(shù)據(jù)庫(kù)恢復(fù)概述 266
15.4.1 系統(tǒng)自啟動(dòng)的恢復(fù)進(jìn)程 266
15.4.2 用戶(hù)手工恢復(fù)數(shù)據(jù)庫(kù)的準(zhǔn)備 266
15.5 數(shù)據(jù)庫(kù)恢復(fù) 267
15.5.1 RESTORE語(yǔ)句的語(yǔ)法格式 267
15.5.2 數(shù)據(jù)庫(kù)恢復(fù) 268
15.6 備份與恢復(fù)數(shù)據(jù)庫(kù)實(shí)例分析 271
15.6.1 用戶(hù)數(shù)據(jù)庫(kù)備份恢復(fù) 271
15.6.2 系統(tǒng)數(shù)據(jù)庫(kù)恢復(fù)方法 272
實(shí)驗(yàn)與思考 273
第16章 數(shù)據(jù)復(fù)制與轉(zhuǎn)換 274
16.1 復(fù)制概述 274
16.1.1 復(fù)制結(jié)構(gòu) 274
16.1.2 復(fù)制類(lèi)型 276
16.1.3 復(fù)制代理 277
16.1.4 可更新訂閱 277
16.2 配置復(fù)制 278
16.2.1 創(chuàng)建服務(wù)器角色和分發(fā)數(shù)據(jù)庫(kù) 278
16.2.2 配置復(fù)制選項(xiàng) 279
16.2.3 刪除復(fù)制配置信息 279
16.3 創(chuàng)建發(fā)布出版物 280
16.4 訂閱出版物 280
16.5 管理復(fù)制選項(xiàng) 280
16.5.1 可更新的訂閱選項(xiàng) 280
16.5.2 篩選復(fù)制數(shù)據(jù) 282
16.5.3 可選同步伙伴 282
16.6 復(fù)制監(jiān)視器 283
16.7 數(shù)據(jù)導(dǎo)入導(dǎo)出 283
16.7.1 SQL Server數(shù)據(jù)表數(shù)據(jù)導(dǎo)出 283
16.7.2 SQL Server數(shù)據(jù)表數(shù)據(jù)導(dǎo)入 284
16.8 復(fù)制實(shí)例 284
實(shí)驗(yàn)與思考 287
附錄A 樣例數(shù)據(jù)庫(kù)創(chuàng)建及數(shù)據(jù)輸入 288
參考文獻(xiàn) 293