本書根據數據庫技術領域的人才需求和數據庫應用系統開發崗位的任職要求,參照相關的職業資格標準,堅持能力本位的職業教育思想,采用任務驅動的方式組織課程教學內容。本書共 14 章,從基本概念和實際應用出發,由淺入深、循序漸進地講述了數據庫技術、SQL Server 2016概述、數據庫的基本操作、數據表的基本操作、數據的基本操作、數據的高級操作、實現數據完整性、視圖及其應用、索引及其應用、SQL Server程序設計、存儲過程與觸發器、SQL Server安全管理、備份與還原、數據庫與開發工具的協同使用等內容;并將“學生選課管理系統”案例融入部分章節,深入闡述數據庫創建、管理、開發與SQL程序設計的思想與具體方法;簡明扼要地介紹了SQL Server的上機實驗操作。本書根據職業技能培養的要求,結合案例給出100多個例題和習題,便于讀者更好地學習和掌握數據庫的基本知識與技能。本書既可以作為高等院校、高等職業院校計算機及相關專業的專業課教材,也可以作為數據庫工作者,尤其是大型關系數據庫初學者的參考書。
楊學全,教授,現任職于河北農業大學,碩士研究生導師。1989年大學畢業參加工作,曾任職于保定職業技術學院,長期在教學科研一線辛勤耕耘,編寫多部計算機類教材,其中榮獲普通高等教育“十一五”國家級規劃教材1部,榮獲“十二五”職業教育國家規劃教材2部。
第1章 數據庫技術 1
1.1 數據庫基礎知識 1
1.1.1 信息、數據與數據處理 1
1.1.2 數據管理技術的發展 2
1.1.3 數據庫、數據庫管理系統、數據庫系統 2
1.1.4 數據模型 4
1.1.5 數據庫系統的體系結構 6
1.2 關系數據庫 7
1.2.1 關系模型 7
1.2.2 關系數據庫中的基本運算 9
1.2.3 關系數據理論 11
1.3 關系數據庫設計 15
1.3.1 數據庫設計的任務、內容與步驟 15
1.3.2 需求分析 16
1.3.3 概念結構設計 17
1.3.4 邏輯結構設計 18
1.3.5 數據庫設計案例 19
1.4 思考題 22
第2章 SQL Server 2016概述 24
2.1 SQL Server 2016的特性與體系結構 24
2.1.1 SQL Server 2016的特性 24
2.1.2 SQL Server 2016的體系結構 25
2.2 SQL Server 2016的安裝 26
2.2.1 安裝前的準備工作 26
2.2.2 安裝SQL Server 2016 28
2.3 SQL Server 2016的安全性 34
2.3.1 權限驗證模式 34
2.3.2 數據庫用戶和賬號 35
2.4 SQL Server 2016服務器的操作 35
2.4.1 SQL Server 的程序組 35
2.4.2 SQL Server服務管理 36
2.4.3 使用SQL Server Management Studio 39
2.4.4 實用工具 44
2.5 思考題 44
第3章 數據庫的基本操作 45
3.1 SQL Server 數據庫的一些基本術語和概念 45
3.1.1 SQL Server的數據庫 45
3.1.2 SQL Server的事務日志 45
3.1.3 SQL Server的數據庫文件及文件組 46
3.1.4 SQL Server 的系統數據庫 47
3.2 創建數據庫 48
3.2.1 使用SQL Server Management Studio創建數據庫 48
3.2.2 使用T-SQL創建數據庫 49
3.3 使用SQL Server Management Studio管理數據庫 51
3.3.1 打開數據庫 51
3.3.2 查看數據庫信息 52
3.3.3 修改數據庫容量 53
3.3.4 修改數據庫選項 54
3.3.5 更改數據庫名稱 55
3.3.6 分離和附加數據庫 55
3.3.7 刪除數據庫 56
3.4 使用T-SQL管理數據庫 57
3.4.1 打開數據庫 57
3.4.2 查看數據庫信息 57
3.4.3 修改數據庫容量 58
3.4.4 設定修改數據庫選項 59
3.4.5 更改數據庫名稱 60
3.4.6 分離和附加數據庫 60
3.4.7 刪除數據庫 61
3.5 案例中的應用舉例 61
3.5.1 創建“學生選課管理系統”數據庫 62
3.5.2 設定修改數據庫的容量 63
3.6 思考題 65
第4章 數據表的基本操作 66
4.1 表的概念與數據類型 66
4.1.1 表的概念 66
4.1.2 SQL Server 2016數據類型 67
4.2 創建表 70
4.2.1 使用表設計器創建表 71
4.2.2 使用T-SQL命令創建表 73
4.2.3 使用已有的表創建新表 76
4.3 數據的添加與表的查看 77
4.3.1 向表中添加數據 77
4.3.2 查看表的信息 78
4.4 表的修改與刪除 80
4.4.1 修改數據庫中的表 80
4.4.2 刪除數據庫中的表 81
4.5 案例應用舉例 82
4.5.1 “學生選課管理系統”各表的定義 82
4.5.2 “學生選課管理系統”各表的創建 84
4.6 思考題 87
第5章 數據的基本操作 88
5.1 數據的增、刪、改 88
5.1.1 數據的添加 88
5.1.2 數據的修改 94
5.1.3 數據的刪除 96
5.2 簡單查詢 98
5.2.1 SELECT語句 98
5.2.2 選擇表中的若干列 99
5.2.3 選擇表中的若干記錄 102
5.2.4 對查詢的結果排序 107
5.2.5 對數據進行統計 109
5.2.6 用查詢結果生成新表 112
5.2.7 合并結果集 113
5.2.8 公用表達式 114
5.2.9 MERGE語句 115
5.3 案例中數據的基本操作 117
5.4 思考題 118
第6章 數據的高級操作 119
6.1 連接查詢 119
6.1.1 交叉連接查詢 119
6.1.2 等值與非等值連接查詢 121
6.1.3 自身連接查詢 122
6.1.4 外連接查詢 123
6.1.5 復合連接條件查詢 125
6.2 子查詢 126
6.2.1 帶有IN運算符的子查詢 126
6.2.2 帶有比較運算符的子查詢 128
6.2.3 帶有ANY或ALL運算符的子查詢 129
6.2.4 帶有EXISTS運算符的子查詢 130
6.3 交叉表查詢 131
6.3.1 PIVOT運算符 132
6.3.2 UNPIVOT運算符 134
6.4 案例中數據的高級查詢 135
6.5 思考題 138
第7章 實現數據完整性 139
7.1 完整性的概念 139
7.2 約束 140
7.2.1 約束的類型 140
7.2.2 創建主鍵約束 141
7.2.3 創建唯一約束 142
7.2.4 創建檢查約束 144
7.2.5 創建默認約束 145
7.2.6 創建外鍵約束 146
7.2.7 查看約束的定義 148
7.2.8 刪除約束 149
7.3 規則 149
7.4 默認值 151
7.5 IDENTITY列 152
7.6 選擇實現數據完整性的方法 153
7.7 案例中的實現數據完整性 153
7.8 思考題 156
第8章 視圖及其應用 157
8.1 視圖綜述 157
8.1.1 視圖的基本概念 157
8.1.2 視圖的作用 157
8.2 視圖的操作 158
8.2.1 創建視圖 158
8.2.2 使用視圖 162
8.2.3 修改視圖 163
8.2.4 刪除視圖 164
8.3 視圖定義信息的查詢 165
8.4 案例中的視圖應用 165
8.5 思考題 167
第9章 索引及其應用 168
9.1 索引綜述 168
9.1.1 數據存儲 168
9.1.2 索引 168
9.2 索引的操作 170
9.2.1 創建索引 170
9.2.2 查詢索引信息 173
9.2.3 索引更名 174
9.2.4 刪除索引 175
9.3 設置索引的選項 175
9.3.1 設置FILLFACTOR選項 175
9.3.2 設置PAD_INDEX選項 176
9.4 索引的分析與維護 176
9.4.1 索引分析 176
9.4.2 索引維護 177
9.5 索引視圖 178
9.6 案例中的索引 179
9.7 思考題 180
第10章 SQL Server程序設計 181
10.1 程序中的批處理、腳本、注釋 181
10.1.1 批處理 181
10.1.2 腳本 182
10.1.3 注釋 182
10.2 SQL Server變量 182
10.2.1 全局變量 182
10.2.2 局部變量 184
10.3 程序中的流程控制 186
10.3.1 BEGIN…END語句 186
10.3.2 PRINT語句 187
10.3.3 IF…ELSE語句 187
10.3.4 CASE語句 188
10.3.5 WAITFOR語句 190
10.3.6 WHILE語句 191
10.3.7 RETURN語句 192
10.4 SQL Server函數 192
10.4.1 常用內置函數 192
10.4.2 創建用戶自定義函數 201
10.4.3 查看、修改和刪除用戶自定義函數 205
10.5 程序中的事務 207
10.5.1 概述 207
10.5.2 編寫事務 209
10.5.3 檢查點處理 212
10.5.4 鎖 212
10.6 游標 213
10.6.1 游標的基本操作 214
10.6.2 使用游標 216
10.7 案例中的程序設計 218
10.8 思考題 221
第11章 存儲過程與觸發器 222
11.1 存儲過程綜述 222
11.1.1 存儲過程的概念 222
11.1.2 存儲過程的類型 222
11.2 創建、執行、修改、刪除存儲過程 223
11.2.1 創建存儲過程 223
11.2.2 執行存儲過程 225
11.2.3 查看存儲過程 226
11.2.4 修改存儲過程 228
11.2.5 刪除存儲過程 229
11.3 創建和執行含參數的存儲過程 230
11.3.1 帶簡單參數的存儲過程 230
11.3.2 帶表值參數的存儲過程 233
11.4 存儲過程的重新編譯 234
11.5 系統存儲過程與擴展存儲過程 235
11.5.1 系統存儲過程 235
11.5.2 擴展存儲過程 236
11.6 案例中的存儲過程 236
11.7 觸發器綜述 241
11.8 觸發器的創建 242
11.8.1 Inserted表和Deleted表 242
11.8.2 創建觸發器 243
11.8.3 查看觸發器信息 245
11.9 修改和刪除觸發器 246
11.9.1 修改觸發器 246
11.9.2 禁用、啟用和刪除觸發器 246
11.10 嵌套觸發器 247
11.11 案例中的觸發器 247
11.12 思考題 249
第12章 SQL Server 安全管理 250
12.1 SQL Server 2016的安全機制 250
12.1.1 SQL Server 2016的身份驗證模式 250
12.1.2 權限驗證 252
12.2 管理服務器的安全性 252
12.2.1 查看登錄賬號 253
12.2.2 創建登錄賬號 253
12.2.3 禁用登錄賬號 255
12.2.4 刪除登錄賬號 256
12.3 管理權限 256
12.3.1 數據庫用戶 256
12.3.2 架構管理 258
12.3.3 數據庫角色 261
12.3.4 用戶和角色的管理權限 263
12.4 案例中的安全管理 264
12.5 思考題 265
第13章 備份與還原 266
13.1 數據備份與還原綜述 266
13.1.1 備份和還原的基本概念 266
13.1.2 數據備份的類型 267
13.1.3 恢復模式 268
13.2 備份與還原操作 269
13.2.1 數據庫的備份 269
13.2.2 數據庫的還原 273
13.3 備份與還原計劃 275
13.4 數據的導入和導出 276
13.4.1 導出數據 276
13.4.2 導入數據 280
13.5 案例中的備份與還原操作 281
13.5.1 備份操作 282
13.5.2 還原操作 283
13.6 思考題 284
第14章 數據庫與開發工具的協同使用 285
14.1 常用的數據庫連接方法 285
14.1.1 ODBC 285
14.1.2 JDBC 286
14.1.3 ADO.NET 286
14.2 使用Java語言進行數據庫開發 287
14.3 Visual Studio.NET中的數據庫開發 290
14.3.1 使用數據控件 291
14.3.2 使用ADO.NET對象 293
14.4 案例的客戶端程序 295
14.4.1 系統分析與設計 296
14.4.2 系統數據庫設計 298
14.4.3 系統實現 298
14.5 思考題 320