本書(shū)為SQL Server入門(mén)到提高圖書(shū),共17章,主要內(nèi)容包括數(shù)據(jù)庫(kù)基礎(chǔ)、SQL Server數(shù)據(jù)庫(kù)的安裝與配置、創(chuàng)建和管理數(shù)據(jù)庫(kù)、數(shù)據(jù)表操作、視圖操作、SQL的基礎(chǔ)知識(shí)、數(shù)據(jù)的查詢(xún)、索引與數(shù)據(jù)完整性、流程控制、用戶(hù)自定義函數(shù)、存儲(chǔ)過(guò)程的使用、觸發(fā)器的使用、游標(biāo)的使用、SQL Server高級(jí)開(kāi)發(fā)、SQL Server安全管理、SQL Server維護(hù)管理,最后講解了學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目。本書(shū)每章內(nèi)容都與實(shí)例緊密結(jié)合,有助于讀者理解知識(shí)、應(yīng)用知識(shí),達(dá)到學(xué)以致用的目的。
本書(shū)附有配套資源,包括本書(shū)所有實(shí)例的源碼及教學(xué)視頻。其中,源碼全部經(jīng)過(guò)精心測(cè)試,能夠在Windows XP、Windows 7、Windows 8、Windows 10系統(tǒng)中編譯和運(yùn)行。
本書(shū)可作為應(yīng)用型本科計(jì)算機(jī)專(zhuān)業(yè)、高職軟件技術(shù)專(zhuān)業(yè)及其他相關(guān)專(zhuān)業(yè)的教材,同時(shí)也適合初級(jí)數(shù)據(jù)庫(kù)開(kāi)發(fā)人員參考使用。
1.循序漸進(jìn),自學(xué)有道。本書(shū)從基礎(chǔ)→提高→高級(jí)→項(xiàng)目實(shí)戰(zhàn),符合讀者學(xué)習(xí)路線(xiàn)。
2.關(guān)鍵技術(shù),實(shí)例解析。全書(shū)通過(guò)“實(shí)例”的形式,將知識(shí)融入到實(shí)例講解中,使知識(shí)與實(shí)例相輔相成。
3.資源豐富。本書(shū)提供源碼、視頻課程等配套資源。
4.技術(shù)服務(wù)完善。作者團(tuán)隊(duì)提供企業(yè)QQ、論壇、郵箱、客服電話(huà)、明日學(xué)院官方網(wǎng)站等多渠道的技術(shù)支持與服務(wù),在線(xiàn)為讀者答疑解惑。
明日科技
一個(gè)擁有軟件開(kāi)發(fā)和項(xiàng)目實(shí)施方面經(jīng)驗(yàn)的學(xué)習(xí)型技術(shù)團(tuán)隊(duì),利用多年積累的專(zhuān)業(yè)知識(shí),已出版了“從入門(mén)到精通”“軟件開(kāi)發(fā)實(shí)戰(zhàn) 1200 例”“軟件開(kāi)發(fā)實(shí)戰(zhàn)寶典”“軟件項(xiàng)目開(kāi)發(fā)全程實(shí)錄”等系列叢書(shū),是國(guó)內(nèi)排名前列的編程圖書(shū)品牌。
目 錄
CONTENTS
基礎(chǔ)篇
第 1章 數(shù)據(jù)庫(kù)基礎(chǔ)
1.1.數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介 002
1.1.1.數(shù)據(jù)庫(kù)技術(shù)的發(fā)展 002
1.1.2.數(shù)據(jù)庫(kù)系統(tǒng)的組成 003
1.2.數(shù)據(jù)庫(kù)的體系結(jié)構(gòu) 003
1.2.1.數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu) 003
1.2.2.三級(jí)模式之間的映射 004
1.3.數(shù)據(jù)模型 004
1.3.1.數(shù)據(jù)模型的概念 004
1.3.2.常用的數(shù)據(jù)模型 005
1.3.3.關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化 006
1.3.4.數(shù)據(jù)庫(kù)的設(shè)計(jì)原則 006
1.3.5.實(shí)體與關(guān)系 006
1.4.常見(jiàn)的關(guān)系數(shù)據(jù)庫(kù) 006
1.4.1.Access數(shù)據(jù)庫(kù) 006
1.4.2.SQL Server數(shù)據(jù)庫(kù) 007
1.4.3.Oracle數(shù)據(jù)庫(kù) 007
1.4.4.MySQL數(shù)據(jù)庫(kù) 007
1.5.Transact-SQL簡(jiǎn)介 008
1.6.小結(jié) 009
第 2章 SQL Server數(shù)據(jù)庫(kù)的安裝與配置
2.1 SQL Server 2019簡(jiǎn)介 010
2.2 SQL Server 2019的下載/安裝/卸載 011
2.2.1 SQL Server 2019的安裝要求 011
2.2.2 了解賬戶(hù)和身份驗(yàn)證模式 011
2.2.3 下載SQL Server 2019 012
2.2.4 安裝SQL Server 2019 017
2.2.5.SQL Server 2019的卸載 024
2.3.啟動(dòng)SQL Server 2019的服務(wù) 025
2.3.1.后臺(tái)啟動(dòng)SQL Server 2019的服務(wù) 025
2.3.2.通過(guò)SQL Server配置管理器啟動(dòng)SQL Server 2019的服務(wù) 027
2.4.安裝與使用SQL Server Management Studio 028
2.4.1.下載SQL Server Management Studio 028
2.4.2.安裝SQL Server Management Studio 029
2.4.3.啟動(dòng)SQL Server Management Studio 031
2.4.4.使用SQL Server Management Studio的查詢(xún)編輯器 032
2.5.注冊(cè)SQL Server 2019 服務(wù)器 036
2.5.1.服務(wù)器組的創(chuàng)建與刪除 036
2.5.2.服務(wù)器的注冊(cè)與刪除 038
2.6.小結(jié) 041
第3章 創(chuàng)建和管理數(shù)據(jù)庫(kù)
3.1 認(rèn)識(shí)數(shù)據(jù)庫(kù) 042
3.1.1 數(shù)據(jù)庫(kù)的基本概念 042
3.1.2 常用的數(shù)據(jù)庫(kù)對(duì)象 043
3.1.3 數(shù)據(jù)庫(kù)的組成 043
3.1.4 系統(tǒng)數(shù)據(jù)庫(kù) 044
3.2.SQL Server的命名規(guī)范 045
3.2.1.標(biāo)識(shí)符 045
3.2.2.對(duì)象命名規(guī)則 046
3.2.3.實(shí)例命名規(guī)則 047
3.3.數(shù)據(jù)庫(kù)操作 047
3.3.1.創(chuàng)建數(shù)據(jù)庫(kù) 047
3.3.2.修改數(shù)據(jù)庫(kù) 049
3.3.3.刪除數(shù)據(jù)庫(kù) 052
3.4.小結(jié) 054
第4章 數(shù)據(jù)表操作
4.1.數(shù)據(jù)表的增刪改查 055
4.1.1.數(shù)據(jù)表的基礎(chǔ)知識(shí) 055
4.1.2.表的設(shè)計(jì)原則 059
4.1.3.以界面的方式創(chuàng)建、修改和刪除數(shù)據(jù)表 060
4.1.4 .使用CREATE TABLE語(yǔ)句創(chuàng)建表 061
4.1.5.創(chuàng)建、修改和刪除約束 062
4.1.6.使用ALTER TABLE語(yǔ)句修改表 074
4.1.7.使用DROP TABLE語(yǔ)句刪除表 076
4.2.分區(qū)表 077
4.2.1.分區(qū)表概述 077
4.2.2.以界面的方式創(chuàng)建分區(qū)表 077
4.2.3.以命令的方式創(chuàng)建分區(qū)表 080
4.3 數(shù)據(jù)表記錄的操作 082
4.3.1 使用企業(yè)管理器添加記錄 082
4.3.2 使用INSERT語(yǔ)句插入記錄 083
4.3.3 使用企業(yè)管理器修改記錄 084
4.3.4 使用UPDATE語(yǔ)句修改記錄 084
4.3.5 使用企業(yè)管理器刪除記錄 085
4.3.6 使用DELETE語(yǔ)句刪除記錄 085
4.4.表與表之間的關(guān)系 086
4.4.1.一對(duì)一關(guān)系 086
4.4.2.一對(duì)多關(guān)系 087
4.4.3.多對(duì)多關(guān)系 088
4.5.小結(jié) 088
第5章 視圖操作
5.1.視圖概述 089
5.2.視圖的操作 090
5.2.1.以界面的方式操作視圖 090
5.2.2.使用CREATE VIEW語(yǔ)句創(chuàng)建視圖 091
5.2.3.使用ALTER VIEW語(yǔ)句修改視圖 092
5.2.4.使用DROP VIEW語(yǔ)句刪除視圖 093
5.2.5.使用存儲(chǔ)過(guò)程sp_rename修改視圖 094
5.3.視圖中的數(shù)據(jù)操作 094
5.3.1.在視圖中瀏覽數(shù)據(jù) 094
5.3.2.通過(guò)視圖添加數(shù)據(jù) 095
5.3.3.通過(guò)視圖修改數(shù)據(jù) 096
5.3.4.通過(guò)視圖刪除數(shù)據(jù) 096
5.4.小結(jié) 096
第6章 SQL的基礎(chǔ)知識(shí)
6.1.T-SQL概述 097
6.1.1.T-SQL的組成 097
6.1.2.T-SQL語(yǔ)句的結(jié)構(gòu) 099
6.2.常量 100
6.3.變量 101
6.3.1.局部變量 101
6.3.2.全局變量 103
6.4.注釋符、運(yùn)算符與通配符 105
6.4.1.注釋符 105
6.4.2.運(yùn)算符 105
6.4.3.通配符 109
6.5.常用語(yǔ)句 109
6.5.1.DBCC語(yǔ)句 110
6.5.2.CHECKPOINT語(yǔ)句 111
6.5.3.DECLARE語(yǔ)句 111
6.5.4.PRINT語(yǔ)句 113
6.5.5.RAISERROR語(yǔ)句 114
6.5.6.READTEXT語(yǔ)句 115
6.5.7.BACKUP語(yǔ)句 115
6.5.8.RESTORE語(yǔ)句 116
6.5.9.SELECT語(yǔ)句 118
6.5.10.SET語(yǔ)句 120
6.5.11.SHUTDOWN語(yǔ)句 121
6.5.12.WRITETEXT語(yǔ)句 121
6.5.13.USE語(yǔ)句 122
6.6.小結(jié) 122
提高篇
第7章 數(shù)據(jù)的查詢(xún)
7.1 創(chuàng)建查詢(xún)和測(cè)試查詢(xún) 124
7.2 選擇查詢(xún) 125
7.2.1 簡(jiǎn)單的SELECT查詢(xún) 125
7.2.2 重新對(duì)字段排序 127
7.2.3 使用運(yùn)算符或函數(shù)進(jìn)行字段計(jì)算 128
7.2.4 利用WHERE子句過(guò)濾數(shù)據(jù) 129
7.2.5 消除重復(fù)記錄 136
7.2.6 TOP關(guān)鍵字 136
7.3 數(shù)據(jù)匯總 137
7.3.1 使用聚合函數(shù) 137
7.3.2 使用GROUP BY子句 138
7.3.3 使用HAVING子句 139
7.4 基于多表的連接查詢(xún) 140
7.4.1 連接謂詞 140
7.4.2 以JOIN關(guān)鍵字指定的連接 140
7.5 嵌套查詢(xún) 143
7.5.1 帶IN或NOT IN的嵌套查詢(xún) 143
7.5.2 帶比較運(yùn)算符的嵌套查詢(xún) 145
7.5.3 帶SOME的嵌套查詢(xún) 145
7.5.4 帶ANY的嵌套查詢(xún) 146
7.5.5 帶ALL的嵌套查詢(xún) 146
7.5.6 帶EXISTS的嵌套查詢(xún) 147
7.6 使用UNION合并多個(gè)查詢(xún)結(jié)果 148
7.6.1 合并與連接的區(qū)別 148
7.6.2 使用UNION ALL合并表 149
7.6.3 合并表中的ORDER BY子句 149
7.6.4 合并表中的自動(dòng)數(shù)據(jù)類(lèi)型轉(zhuǎn)換 150
7.6.5 使用UNION合并不同數(shù)據(jù)類(lèi)型的數(shù)據(jù) 151
7.6.6 使用UNION合并有不同列數(shù)的兩個(gè)表 151
7.6.7 使用UNION進(jìn)行多表合并 152
7.7.使用CASE語(yǔ)句進(jìn)行查詢(xún) 152
7.8.小結(jié) 154
第8章 索引與數(shù)據(jù)完整性
8.1.索引 155
8.1.1 索引的概念 155
8.1.2 索引的優(yōu)缺點(diǎn) 156
8.1.3 索引的分類(lèi) 156
8.1.4 索引的創(chuàng)建 157
8.1.5 索引的刪除 160
8.1.6 索引的分析與維護(hù) 161
8.2 全文索引 165
8.2.1 使用可視化管理工具啟用全文索引 165
8.2.2 使用T-SQL語(yǔ)句啟用全文索引 168
8.2.3 使用T-SQL語(yǔ)句刪除全文索引 171
8.2.4 全文目錄 171
8.2.5 全文目錄的維護(hù) 174
8.3 數(shù)據(jù)完整性 177
8.3.1 數(shù)據(jù)完整性概述 177
8.3.2 實(shí)現(xiàn)數(shù)據(jù)完整性 179
8.4 小結(jié) 180
第9章 流程控制
9.1.流程控制語(yǔ)句概述 181
9.2.BEGIN...END語(yǔ)句 182
9.3.選擇語(yǔ)句 183
9.3.1.IF語(yǔ)句 183
9.3.2.IF...ELSE語(yǔ)句 184
9.3.3.CASE語(yǔ)句 185
9.4.循環(huán)語(yǔ)句 188
9.4.1.WHILE語(yǔ)句 188
9.4.2.WHILE...CONTINUE...BREAK語(yǔ)句 189
9.5.其他常用語(yǔ)句 190
9.5.1.RETURN語(yǔ)句 190
9.5.2.GOTO語(yǔ)句 191
9.5.3.WAITFOR語(yǔ)句 192
9.6 小結(jié) 192
第 10章 用戶(hù)自定義函數(shù)
10.1 創(chuàng)建用戶(hù)自定義函數(shù) 193
10.2 使用SQL語(yǔ)句創(chuàng)建用戶(hù)自定義函數(shù) 194
10.3 修改、刪除用戶(hù)自定義函數(shù) 195
10.4.小結(jié) 196
第 11章 存儲(chǔ)過(guò)程的使用
11.1 存儲(chǔ)過(guò)程簡(jiǎn)介 197
11.1.1 存儲(chǔ)過(guò)程的優(yōu)點(diǎn) 197
11.1.2 存儲(chǔ)過(guò)程的類(lèi)別 198
11.2 創(chuàng)建存儲(chǔ)過(guò)程 198
11.2.1 使用企業(yè)管理器創(chuàng)建存儲(chǔ)過(guò)程 198
11.2.2 使用T-SQL創(chuàng)建存儲(chǔ)過(guò)程 202
11.3 執(zhí)行存儲(chǔ)過(guò)程 203
11.4 查看和修改存儲(chǔ)過(guò)程 204
11.4.1 使用企業(yè)管理器查看和修改存儲(chǔ)過(guò)程 204
11.4.2 使用T-SQL查看和修改存儲(chǔ)過(guò)程 205
11.5 刪除存儲(chǔ)過(guò)程 208
11.5.1 使用企業(yè)管理器刪除存儲(chǔ)過(guò)程 208
11.5.2 使用T-SQL刪除存儲(chǔ)過(guò)程 208
11.6.小結(jié) 209
第 12章 觸發(fā)器的使用
12.1 觸發(fā)器簡(jiǎn)介 210
12.1.1 觸發(fā)器的概念 210
12.1.2 觸發(fā)器的功能 210
12.1.3 觸發(fā)器的類(lèi)型和觸發(fā)操作 211
12.2 創(chuàng)建觸發(fā)器 212
12.2.1 使用企業(yè)管理器創(chuàng)建觸發(fā)器 212
12.2.2 使用T-SQL創(chuàng)建觸發(fā)器 213
12.3 修改觸發(fā)器 217
12.3.1 使用企業(yè)管理器修改觸發(fā)器 217
12.3.2 使用T-SQL管理觸發(fā)器 217
12.4.刪除觸發(fā)器 220
12.4.1 使用企業(yè)管理器刪除觸發(fā)器 220
12.4.2 使用T-SQL刪除觸發(fā)器 220
12.5 小結(jié) 221
第 13章 游標(biāo)的使用
13.1.游標(biāo)簡(jiǎn)介 222
13.1.1.游標(biāo)的實(shí)現(xiàn) 223
13.1.2.游標(biāo)的類(lèi)型 223
13.2.游標(biāo)的基本操作 224
13.2.1.聲明游標(biāo) 224
13.2.2.打開(kāi)游標(biāo) 227
13.2.3.讀取游標(biāo)中的數(shù)據(jù) 227
13.2.4.關(guān)閉游標(biāo) 229
13.2.5.釋放游標(biāo) 230
13.3.使用系統(tǒng)存儲(chǔ)過(guò)程查看游標(biāo) 231
13.3.1.使用sp_cursor_list查看游標(biāo) 231
13.3.2.使用sp_describe_cursor查看游標(biāo) 233
13.4.小結(jié) 235
第 14章 SQL Server高級(jí)開(kāi)發(fā)
14.1 事務(wù)處理 236
14.1.1 事務(wù)的概念 236
14.1.2 顯式事務(wù)與隱式事務(wù) 237
14.1.3 事務(wù)處理 239
14.1.4.事務(wù)的并發(fā)問(wèn)題 242
14.1.5.事務(wù)的隔離級(jí)別 242
14.2.鎖 245
14. 2.1.鎖的簡(jiǎn)介 245
14.2.2 死鎖及其排除方法 247
14.3.小結(jié) 248
高級(jí)篇
第 15章 SQL Server安全管理
15.1.SQL Server身份驗(yàn)證 250
15.1.1.驗(yàn)證模式 250
15.1.2.設(shè)置SQL Server身份驗(yàn)證模式 251
15.1.3.管理登錄賬號(hào) 252
15.2.數(shù)據(jù)庫(kù)用戶(hù) 260
15.2.1.創(chuàng)建數(shù)據(jù)庫(kù)用戶(hù) 261
15.2.2.刪除數(shù)據(jù)庫(kù)用戶(hù) 262
15.3.SQL Server角色 262
15.3.1.固定服務(wù)器角色 262
15.3.2.固定數(shù)據(jù)庫(kù)角色 263
15.3.3.管理SQL Server角色 263
15.4.管理SQL Server權(quán)限 265
15.5.小結(jié) 267
第 16章 SQL Server維護(hù)管理
16.1 脫機(jī)與聯(lián)機(jī)數(shù)據(jù)庫(kù) 268
16.1.1 脫機(jī)數(shù)據(jù)庫(kù) 268
16.1.2 聯(lián)機(jī)數(shù)據(jù)庫(kù) 269
16.2 分離和附加數(shù)據(jù)庫(kù) 270
16.2.1 分離數(shù)據(jù)庫(kù) 270
16.2.2 附加數(shù)據(jù)庫(kù) 272
16.3 導(dǎo)入和導(dǎo)出數(shù)據(jù)表 273
16.3.1 導(dǎo)入SQL Server數(shù)據(jù)表 273
16.3.2 導(dǎo)入Access數(shù)據(jù)表 276
16.3.3 導(dǎo)出SQL Server數(shù)據(jù)表到Access數(shù)據(jù)庫(kù) 280
16.4 備份和恢復(fù)數(shù)據(jù)庫(kù) 285
16.4.1 備份類(lèi)型 285
16.4.2 恢復(fù)類(lèi)型 286
16.4.3 備份數(shù)據(jù)庫(kù) 286
16.4.4 恢復(fù)數(shù)據(jù)庫(kù) 288
16.5.收縮數(shù)據(jù)庫(kù) 291
16.5.1.自動(dòng)收縮數(shù)據(jù)庫(kù) 291
16.5.2.手動(dòng)收縮數(shù)據(jù)庫(kù) 292
16.6 腳本 293
16.6.1 為數(shù)據(jù)庫(kù)生成腳本 294
16.6.2 為數(shù)據(jù)表生成腳本 297
16.6.3 執(zhí)行腳本 298
16.7 數(shù)據(jù)庫(kù)維護(hù)計(jì)劃 299
16.8 小結(jié) 303
項(xiàng)目篇
第 17章 學(xué)生成績(jī)管理系統(tǒng)(Java+SQL Server實(shí)現(xiàn))
17.1.系統(tǒng)概述 306
17.2.系統(tǒng)分析 307
17.2.1.需求分析 307
17.2.2.可行性研究 307
17.3.系統(tǒng)設(shè)計(jì) 307
17.3.1.系統(tǒng)目標(biāo) 307
17.3.2.系統(tǒng)功能結(jié)構(gòu) 307
17.3.3.系統(tǒng)預(yù)覽 308
17.3.4.構(gòu)建開(kāi)發(fā)環(huán)境 310
17.3.5.文件夾組織結(jié)構(gòu) 310
17.4.數(shù)據(jù)庫(kù)設(shè)計(jì) 311
17.4.1.數(shù)據(jù)庫(kù)分析 311
17.4.2.數(shù)據(jù)庫(kù)概念設(shè)計(jì) 311
17.4.3.數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 312
17.5 公共模塊設(shè)計(jì) 314
17.5.1 各種實(shí)體類(lèi)的編寫(xiě) 314
17.5.2 數(shù)據(jù)庫(kù)公共類(lèi)的編寫(xiě) 315
17.6.系統(tǒng)登錄模塊設(shè)計(jì) 322
17.6.1.系統(tǒng)登錄模塊概述 322
17.6.2.系統(tǒng)登錄模塊的技術(shù)分析 322
17.6.3.系統(tǒng)登錄模塊的實(shí)現(xiàn)過(guò)程 322
17.7.主窗體模塊設(shè)計(jì) 325
17.7.1.主窗體模塊概述 325
17.7.2.主窗體模塊的技術(shù)分析 325
17.7.3.主窗體模塊的實(shí)現(xiàn)過(guò)程 326
17.8.班級(jí)信息設(shè)置模塊設(shè)計(jì) 329
17.8.1.班級(jí)信息設(shè)置模塊概述 329
17.8.2.班級(jí)信息設(shè)置模塊的技術(shù)分析 330
17.8.3.班級(jí)信息設(shè)置模塊的實(shí)現(xiàn)過(guò)程 330
17.9.學(xué)生基本信息管理模塊設(shè)計(jì) 334
17.9.1.學(xué)生基本信息管理模塊概述 334
17.9.2.學(xué)生基本信息管理模塊的技術(shù)分析 335
17.9.3.學(xué)生基本信息管理模塊的實(shí)現(xiàn)過(guò)程 335
17.10.學(xué)生考試成績(jī)信息管理模塊設(shè)計(jì) 340
17.10.1.學(xué)生考試成績(jī)信息管理模塊概述 340
17.10.2.學(xué)生考試成績(jī)信息管理模塊的技術(shù)分析 341
17.10.3.學(xué)生考試成績(jī)信息管理模塊的實(shí)現(xiàn)過(guò)程 341
17.11.基本信息數(shù)據(jù)查詢(xún)模塊設(shè)計(jì) 345
17.11.1.基本信息數(shù)據(jù)查詢(xún)模塊概述 345
17.11.2.基本信息數(shù)據(jù)查詢(xún)模塊的技術(shù)分析 346
17.11.3.基本信息數(shù)據(jù)查詢(xún)模塊的實(shí)現(xiàn)過(guò)程 346
17.12.考試成績(jī)班級(jí)明細(xì)數(shù)據(jù)查詢(xún)模塊設(shè)計(jì) 349
17.12.1.考試成績(jī)班級(jí)明細(xì)數(shù)據(jù)查詢(xún)模塊概述 349
17.12.2.考試成績(jī)班級(jí)明細(xì)數(shù)據(jù)查詢(xún)模塊的技術(shù)分析 349
17.12.3.考試成績(jī)班級(jí)明細(xì)數(shù)據(jù)查詢(xún)模塊的實(shí)現(xiàn)過(guò)程 350
17.13.小結(jié) 352