本書為SQL Server入門到提高圖書,共17章,主要內(nèi)容包括數(shù)據(jù)庫基礎(chǔ)、SQL Server數(shù)據(jù)庫的安裝與配置、創(chuàng)建和管理數(shù)據(jù)庫、數(shù)據(jù)表操作、視圖操作、SQL的基礎(chǔ)知識(shí)、數(shù)據(jù)的查詢、索引與數(shù)據(jù)完整性、流程控制、用戶自定義函數(shù)、存儲(chǔ)過程的使用、觸發(fā)器的使用、游標(biāo)的使用、SQL Server高級開發(fā)、SQL Server安全管理、SQL Server維護(hù)管理,最后講解了學(xué)生成績管理系統(tǒng)項(xiàng)目。本書每章內(nèi)容都與實(shí)例緊密結(jié)合,有助于讀者理解知識(shí)、應(yīng)用知識(shí),達(dá)到學(xué)以致用的目的。
本書附有配套資源,包括本書所有實(shí)例的源碼及教學(xué)視頻。其中,源碼全部經(jīng)過精心測試,能夠在Windows XP、Windows 7、Windows 8、Windows 10系統(tǒng)中編譯和運(yùn)行。
本書可作為應(yīng)用型本科計(jì)算機(jī)專業(yè)、高職軟件技術(shù)專業(yè)及其他相關(guān)專業(yè)的教材,同時(shí)也適合初級數(shù)據(jù)庫開發(fā)人員參考使用。
1.循序漸進(jìn),自學(xué)有道。本書從基礎(chǔ)→提高→高級→項(xiàng)目實(shí)戰(zhàn),符合讀者學(xué)習(xí)路線。
2.關(guān)鍵技術(shù),實(shí)例解析。全書通過“實(shí)例”的形式,將知識(shí)融入到實(shí)例講解中,使知識(shí)與實(shí)例相輔相成。
3.資源豐富。本書提供源碼、視頻課程等配套資源。
4.技術(shù)服務(wù)完善。作者團(tuán)隊(duì)提供企業(yè)QQ、論壇、郵箱、客服電話、明日學(xué)院官方網(wǎng)站等多渠道的技術(shù)支持與服務(wù),在線為讀者答疑解惑。
明日科技
一個(gè)擁有軟件開發(fā)和項(xiàng)目實(shí)施方面經(jīng)驗(yàn)的學(xué)習(xí)型技術(shù)團(tuán)隊(duì),利用多年積累的專業(yè)知識(shí),已出版了“從入門到精通”“軟件開發(fā)實(shí)戰(zhàn) 1200 例”“軟件開發(fā)實(shí)戰(zhàn)寶典”“軟件項(xiàng)目開發(fā)全程實(shí)錄”等系列叢書,是國內(nèi)排名前列的編程圖書品牌。
目 錄
CONTENTS
基礎(chǔ)篇
第 1章 數(shù)據(jù)庫基礎(chǔ)
1.1.數(shù)據(jù)庫系統(tǒng)簡介 002
1.1.1.數(shù)據(jù)庫技術(shù)的發(fā)展 002
1.1.2.數(shù)據(jù)庫系統(tǒng)的組成 003
1.2.數(shù)據(jù)庫的體系結(jié)構(gòu) 003
1.2.1.數(shù)據(jù)庫的三級模式結(jié)構(gòu) 003
1.2.2.三級模式之間的映射 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ù)庫的規(guī)范化 006
1.3.4.數(shù)據(jù)庫的設(shè)計(jì)原則 006
1.3.5.實(shí)體與關(guān)系 006
1.4.常見的關(guān)系數(shù)據(jù)庫 006
1.4.1.Access數(shù)據(jù)庫 006
1.4.2.SQL Server數(shù)據(jù)庫 007
1.4.3.Oracle數(shù)據(jù)庫 007
1.4.4.MySQL數(shù)據(jù)庫 007
1.5.Transact-SQL簡介 008
1.6.小結(jié) 009
第 2章 SQL Server數(shù)據(jù)庫的安裝與配置
2.1 SQL Server 2019簡介 010
2.2 SQL Server 2019的下載/安裝/卸載 011
2.2.1 SQL Server 2019的安裝要求 011
2.2.2 了解賬戶和身份驗(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.通過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的查詢編輯器 032
2.5.注冊SQL Server 2019 服務(wù)器 036
2.5.1.服務(wù)器組的創(chuàng)建與刪除 036
2.5.2.服務(wù)器的注冊與刪除 038
2.6.小結(jié) 041
第3章 創(chuàng)建和管理數(shù)據(jù)庫
3.1 認(rèn)識(shí)數(shù)據(jù)庫 042
3.1.1 數(shù)據(jù)庫的基本概念 042
3.1.2 常用的數(shù)據(jù)庫對象 043
3.1.3 數(shù)據(jù)庫的組成 043
3.1.4 系統(tǒng)數(shù)據(jù)庫 044
3.2.SQL Server的命名規(guī)范 045
3.2.1.標(biāo)識(shí)符 045
3.2.2.對象命名規(guī)則 046
3.2.3.實(shí)例命名規(guī)則 047
3.3.數(shù)據(jù)庫操作 047
3.3.1.創(chuàng)建數(shù)據(jù)庫 047
3.3.2.修改數(shù)據(jù)庫 049
3.3.3.刪除數(shù)據(jù)庫 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語句創(chuàng)建表 061
4.1.5.創(chuàng)建、修改和刪除約束 062
4.1.6.使用ALTER TABLE語句修改表 074
4.1.7.使用DROP TABLE語句刪除表 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語句插入記錄 083
4.3.3 使用企業(yè)管理器修改記錄 084
4.3.4 使用UPDATE語句修改記錄 084
4.3.5 使用企業(yè)管理器刪除記錄 085
4.3.6 使用DELETE語句刪除記錄 085
4.4.表與表之間的關(guān)系 086
4.4.1.一對一關(guān)系 086
4.4.2.一對多關(guān)系 087
4.4.3.多對多關(guān)系 088
4.5.小結(jié) 088
第5章 視圖操作
5.1.視圖概述 089
5.2.視圖的操作 090
5.2.1.以界面的方式操作視圖 090
5.2.2.使用CREATE VIEW語句創(chuàng)建視圖 091
5.2.3.使用ALTER VIEW語句修改視圖 092
5.2.4.使用DROP VIEW語句刪除視圖 093
5.2.5.使用存儲(chǔ)過程sp_rename修改視圖 094
5.3.視圖中的數(shù)據(jù)操作 094
5.3.1.在視圖中瀏覽數(shù)據(jù) 094
5.3.2.通過視圖添加數(shù)據(jù) 095
5.3.3.通過視圖修改數(shù)據(jù) 096
5.3.4.通過視圖刪除數(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語句的結(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.常用語句 109
6.5.1.DBCC語句 110
6.5.2.CHECKPOINT語句 111
6.5.3.DECLARE語句 111
6.5.4.PRINT語句 113
6.5.5.RAISERROR語句 114
6.5.6.READTEXT語句 115
6.5.7.BACKUP語句 115
6.5.8.RESTORE語句 116
6.5.9.SELECT語句 118
6.5.10.SET語句 120
6.5.11.SHUTDOWN語句 121
6.5.12.WRITETEXT語句 121
6.5.13.USE語句 122
6.6.小結(jié) 122
提高篇
第7章 數(shù)據(jù)的查詢
7.1 創(chuàng)建查詢和測試查詢 124
7.2 選擇查詢 125
7.2.1 簡單的SELECT查詢 125
7.2.2 重新對字段排序 127
7.2.3 使用運(yùn)算符或函數(shù)進(jìn)行字段計(jì)算 128
7.2.4 利用WHERE子句過濾數(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 基于多表的連接查詢 140
7.4.1 連接謂詞 140
7.4.2 以JOIN關(guān)鍵字指定的連接 140
7.5 嵌套查詢 143
7.5.1 帶IN或NOT IN的嵌套查詢 143
7.5.2 帶比較運(yùn)算符的嵌套查詢 145
7.5.3 帶SOME的嵌套查詢 145
7.5.4 帶ANY的嵌套查詢 146
7.5.5 帶ALL的嵌套查詢 146
7.5.6 帶EXISTS的嵌套查詢 147
7.6 使用UNION合并多個(gè)查詢結(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ù)類型轉(zhuǎn)換 150
7.6.5 使用UNION合并不同數(shù)據(jù)類型的數(shù)據(jù) 151
7.6.6 使用UNION合并有不同列數(shù)的兩個(gè)表 151
7.6.7 使用UNION進(jìn)行多表合并 152
7.7.使用CASE語句進(jì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 索引的分類 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語句啟用全文索引 168
8.2.3 使用T-SQL語句刪除全文索引 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.流程控制語句概述 181
9.2.BEGIN...END語句 182
9.3.選擇語句 183
9.3.1.IF語句 183
9.3.2.IF...ELSE語句 184
9.3.3.CASE語句 185
9.4.循環(huán)語句 188
9.4.1.WHILE語句 188
9.4.2.WHILE...CONTINUE...BREAK語句 189
9.5.其他常用語句 190
9.5.1.RETURN語句 190
9.5.2.GOTO語句 191
9.5.3.WAITFOR語句 192
9.6 小結(jié) 192
第 10章 用戶自定義函數(shù)
10.1 創(chuàng)建用戶自定義函數(shù) 193
10.2 使用SQL語句創(chuàng)建用戶自定義函數(shù) 194
10.3 修改、刪除用戶自定義函數(shù) 195
10.4.小結(jié) 196
第 11章 存儲(chǔ)過程的使用
11.1 存儲(chǔ)過程簡介 197
11.1.1 存儲(chǔ)過程的優(yōu)點(diǎn) 197
11.1.2 存儲(chǔ)過程的類別 198
11.2 創(chuàng)建存儲(chǔ)過程 198
11.2.1 使用企業(yè)管理器創(chuàng)建存儲(chǔ)過程 198
11.2.2 使用T-SQL創(chuàng)建存儲(chǔ)過程 202
11.3 執(zhí)行存儲(chǔ)過程 203
11.4 查看和修改存儲(chǔ)過程 204
11.4.1 使用企業(yè)管理器查看和修改存儲(chǔ)過程 204
11.4.2 使用T-SQL查看和修改存儲(chǔ)過程 205
11.5 刪除存儲(chǔ)過程 208
11.5.1 使用企業(yè)管理器刪除存儲(chǔ)過程 208
11.5.2 使用T-SQL刪除存儲(chǔ)過程 208
11.6.小結(jié) 209
第 12章 觸發(fā)器的使用
12.1 觸發(fā)器簡介 210
12.1.1 觸發(fā)器的概念 210
12.1.2 觸發(fā)器的功能 210
12.1.3 觸發(fā)器的類型和觸發(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)簡介 222
13.1.1.游標(biāo)的實(shí)現(xiàn) 223
13.1.2.游標(biāo)的類型 223
13.2.游標(biāo)的基本操作 224
13.2.1.聲明游標(biāo) 224
13.2.2.打開游標(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ǔ)過程查看游標(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高級開發(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ā)問題 242
14.1.5.事務(wù)的隔離級別 242
14.2.鎖 245
14. 2.1.鎖的簡介 245
14.2.2 死鎖及其排除方法 247
14.3.小結(jié) 248
高級篇
第 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.管理登錄賬號 252
15.2.數(shù)據(jù)庫用戶 260
15.2.1.創(chuàng)建數(shù)據(jù)庫用戶 261
15.2.2.刪除數(shù)據(jù)庫用戶 262
15.3.SQL Server角色 262
15.3.1.固定服務(wù)器角色 262
15.3.2.固定數(shù)據(jù)庫角色 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ù)庫 268
16.1.1 脫機(jī)數(shù)據(jù)庫 268
16.1.2 聯(lián)機(jī)數(shù)據(jù)庫 269
16.2 分離和附加數(shù)據(jù)庫 270
16.2.1 分離數(shù)據(jù)庫 270
16.2.2 附加數(shù)據(jù)庫 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ù)庫 280
16.4 備份和恢復(fù)數(shù)據(jù)庫 285
16.4.1 備份類型 285
16.4.2 恢復(fù)類型 286
16.4.3 備份數(shù)據(jù)庫 286
16.4.4 恢復(fù)數(shù)據(jù)庫 288
16.5.收縮數(shù)據(jù)庫 291
16.5.1.自動(dòng)收縮數(shù)據(jù)庫 291
16.5.2.手動(dòng)收縮數(shù)據(jù)庫 292
16.6 腳本 293
16.6.1 為數(shù)據(jù)庫生成腳本 294
16.6.2 為數(shù)據(jù)表生成腳本 297
16.6.3 執(zhí)行腳本 298
16.7 數(shù)據(jù)庫維護(hù)計(jì)劃 299
16.8 小結(jié) 303
項(xiàng)目篇
第 17章 學(xué)生成績管理系統(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)建開發(fā)環(huán)境 310
17.3.5.文件夾組織結(jié)構(gòu) 310
17.4.數(shù)據(jù)庫設(shè)計(jì) 311
17.4.1.數(shù)據(jù)庫分析 311
17.4.2.數(shù)據(jù)庫概念設(shè)計(jì) 311
17.4.3.數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 312
17.5 公共模塊設(shè)計(jì) 314
17.5.1 各種實(shí)體類的編寫 314
17.5.2 數(shù)據(jù)庫公共類的編寫 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)過程 322
17.7.主窗體模塊設(shè)計(jì) 325
17.7.1.主窗體模塊概述 325
17.7.2.主窗體模塊的技術(shù)分析 325
17.7.3.主窗體模塊的實(shí)現(xiàn)過程 326
17.8.班級信息設(shè)置模塊設(shè)計(jì) 329
17.8.1.班級信息設(shè)置模塊概述 329
17.8.2.班級信息設(shè)置模塊的技術(shù)分析 330
17.8.3.班級信息設(shè)置模塊的實(shí)現(xiàn)過程 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)過程 335
17.10.學(xué)生考試成績信息管理模塊設(shè)計(jì) 340
17.10.1.學(xué)生考試成績信息管理模塊概述 340
17.10.2.學(xué)生考試成績信息管理模塊的技術(shù)分析 341
17.10.3.學(xué)生考試成績信息管理模塊的實(shí)現(xiàn)過程 341
17.11.基本信息數(shù)據(jù)查詢模塊設(shè)計(jì) 345
17.11.1.基本信息數(shù)據(jù)查詢模塊概述 345
17.11.2.基本信息數(shù)據(jù)查詢模塊的技術(shù)分析 346
17.11.3.基本信息數(shù)據(jù)查詢模塊的實(shí)現(xiàn)過程 346
17.12.考試成績班級明細(xì)數(shù)據(jù)查詢模塊設(shè)計(jì) 349
17.12.1.考試成績班級明細(xì)數(shù)據(jù)查詢模塊概述 349
17.12.2.考試成績班級明細(xì)數(shù)據(jù)查詢模塊的技術(shù)分析 349
17.12.3.考試成績班級明細(xì)數(shù)據(jù)查詢模塊的實(shí)現(xiàn)過程 350
17.13.小結(jié) 352