內容簡介
本書以大型數據庫管理系統SQL Server 2012為平臺,通過一個貫穿全書的實例詳細講解了SQL Server 2012的安裝和配置,數據庫的創建與管理,表、視圖、索引、T-SQL語言、存儲過程和觸發器,數據庫的備份恢復與導入導出,SQL Server的安全管理等內容。除最后一章外,每章后均配有實訓內容,可以強化學生的實踐能力。最后一章介紹SQL Server項目開發,將全書所學內容與.NET編程語言相結合,進行了系統化、整體化的提升,并利用Visual C#語言開發設計了學生選課系統,供學生學習和參考。
本書具有由淺入深、理論聯系實際的特點,在保證教材系統性和科學性的同時,注重實踐性和操作性。
本書既可以作為高職高專院校計算機及相關專業的教材和參考書,也可以作為數據庫應用系統開發人員的參考書。
前言
數據庫技術是計算機技術領域中發展最快的技術之一,也是應用最為廣泛的技術之一,它已經成為計算機信息系統的核心技術和重要基礎。
微軟公司在Windows系列平臺上開發的SQL Server是一個功能完備的數據庫管理系統,一經推出就以其易用性得到了很多用戶的青睞,它使用Transact-SQL語言在客戶機與服務器之間發送請求。SQL Server 2012是微軟公司于2011年繼SQL Server 2008之后發布的版本。從SQL Server 2008到SQL Server 2012,不僅僅是數據庫系統具有更高的性能、更強的處理能力,新版本的系統還帶來了許多新的、在舊版本中從未出現過的特性。SQL Server 2012作為已經為云技術做好準備的信息平臺,能夠快速構建相應的快速解決方案來實現本地和公有云之間的數據擴展。
目前我國技能型人才短缺,技能型人才的培養核心是實踐能力,學生應該在學校就開始接受實踐能力的培養,以便在畢業后能快速適應社會的需求。為了滿足當前高職高專院校人才培養的要求和當今社會對人才需求的要求,很多學校的相關專業均開設了有關數據庫技術的課程,而在眾多的數據庫系統中,SQL Server以其兼具對大型數據庫技術的要求和易于實現等特點,被許多院校列為必修課程。本書正是結合這一實際需要以及最新的數據庫技術知識而編寫的。
本書于2008年9月由清華大學出版社首次出版發行后,受到廣大讀者的歡迎,并于2011年3月改版升級。在幾年的使用過程中,許多專家和師生給予了大力支持并提出了一些很好的意見和建議,同時,SQL Server數據庫版本也在升級。因此,我們在《SQL Server 2005實用教程》第一版、第二版的基礎上進行了改版升級,調整了部分內容,同時重新編寫了最后一章的開發設計內容,以求能更好地突出實用性的特色。
本書由淺入深地介紹了SQL Server 2012的基本管理與操作方法。全書共分為13章,第1章主要介紹數據庫相關知識;第2章介紹SQL Server 2012的安裝和配置;第3、4章介紹SQL Server數據庫和表;第5章介紹數據完整性;第6、7章介紹數據查詢和視圖的使用;第8章介紹索引及其應用;第9章介紹T-SQL編程基礎;第10章介紹存儲過程和觸發器;第11章介紹備份恢復與導入/導出;第12章介紹SQL Server的安全管理;第13章介紹SQL Server項目開發。除最后一章外,每一章后都配有實訓內容,所有實訓內容均圍繞一個大的實例來完成,具有系統性和整體性,在項目開發中采用了先進的基于.NET的技術,有助于學生對新知識、新技術的了解和學習。
為了方便讀者自學,作者盡可能詳細地講解了SQL Server 2012各方面的內容,并附有大量的屏幕圖,使讀者有身臨其境的感覺。本書概念清晰、敘述準確、重點突出,理論與實踐緊密結合,注重操作技能的培養,有助于讀者對所學內容的掌握。
本書由李巖、楊立任主編,張玉芬、于洪鵬任副主編。第1、2、3章由楊立編寫;第4、5、6、7章由李巖編寫;第8、9、11章由于洪鵬編寫;第10、12、13章由張玉芬編寫,參加編寫工作的還有徐宏偉、王旭、李康樂等,全書由李巖統稿。
本書既可以作為高職高專院校計算機相關專業的教材和參考書,也可以供從事應用開發工作的人員學習參考。
由于編者水平有限,加之時間倉促,書中疏漏與錯誤之處在所難免,懇切希望廣大讀者多提寶貴意見。
編 者
目 錄
第1章 數據庫概述 1
1.1 數據庫的基本概念及數據庫系統 1
1.1.1 數據庫的基本概念 1
1.1.2 數據庫系統的組成 2
1.1.3 數據庫系統的特點 2
1.2 數據模型概述 3
1.2.1 概念模型 4
1.2.2 數據模型 6
1.3 關系數據庫的基本原理 9
1.3.1 關系模型 9
1.3.2 關系運算 11
1.3.3 關系數據庫的標準語言 14
1.3.4 關系模型的規范化 15
本章實訓 數據庫基礎 18
本章小結 19
習題 20
第2章 SQL Server 2012數據庫系統 21
2.1 SQL Server 2012簡介 21
2.1.1 SQL Server 2012的發展及特點 21
2.1.2 SQL Server 2012的版本 23
2.1.3 SQL Server 2012的體系結構 25
2.2 SQL Server 2012的安裝 26
2.2.1 SQL Server 2012安裝環境的配置 26
2.2.2 SQL Server 2012的安裝過程 28
2.3 SQL Server 2012的常用工具 39
2.3.1 SQL Server 2012配置工具 39
2.3.2 SQL Server 2012管理平臺 39
2.3.3 啟動、停止、暫停和重新啟動SQL Server服務 41
2.3.4 注冊服務器 42
2.3.5 創建服務器組 44
本章實訓 SQL Server 2012的安裝及基本操作 44
本章小結 45
習題 46
第3章 SQL Server數據庫 47
3.1 SQL Server數據庫概述 47
3.1.1 數據庫文件 47
3.1.2 數據庫文件組 48
3.1.3 數據庫對象 49
3.1.4 系統數據庫 49
3.2 創建數據庫 51
3.2.1 用SQL Server Management Studio創建數據庫 52
3.2.2 用SQL命令創建數據庫 53
3.2.3 事務日志 56
3.3 管理和維護數據庫 57
3.3.1 打開或切換數據庫 57
3.3.2 查看數據庫信息 58
3.3.3 用SQL Server Management Studio修改數據庫配置 58
3.3.4 用T-SQL命令修改數據庫配置 59
3.3.5 分離與附加數據庫 60
3.3.6 刪除數據庫 62
本章實訓 數據庫的基本操作 63
本章小結 66
習題 66
第4章 數據庫表 67
4.1 創建表 67
4.1.1 數據類型 67
4.1.2 用SQL Server Management Studio創建表 69
4.1.3 用SQL命令方式創建表 70
4.2 表的管理和維護 71
4.2.1 查看表的屬性 71
4.2.2 修改表結構 72
4.2.3 刪除數據表 75
4.3 表數據的操作 76
4.3.1 用圖形界面方式操作表數據 76
4.3.2 用INSERT命令向表中添加數據 77
4.3.3 用UPDATE命令修改表中的數據 78
4.3.4 用DELETE或TRUNCATE
TABLE命令刪除表中的數據 78
4.3.5 常用系統數據表 79
本章實訓 數據庫表操作 80
本章小結 83
習題 84
第5章 數據完整性 85
5.1 數據完整性的基本概念 85
5.2 約束 86
5.2.1 主鍵約束 86
5.2.2 唯一鍵約束 88
5.2.3 檢查約束 90
5.2.4 默認值約束 93
5.2.5 外鍵約束 95
5.3 默認值 97
5.3.1 創建默認值 97
5.3.2 綁定和解綁默認值 98
5.3.3 刪除默認值 98
5.4 規則 99
5.4.1 創建規則 99
5.4.2 綁定和解綁規則 99
5.4.3 刪除規則 100
5.5 標識列 100
5.6 自定義數據類型 101
5.6.1 創建自定義數據類型 101
5.6.2 刪除用戶自定義數據類型 103
本章實訓 數據完整性操作 103
本章小結 105
習題 105
第6章 數據庫的查詢 107
6.1 簡單SELECT語句 108
6.1.1 SELECT語句的語法格式 108
6.1.2 基本的SELECT語句 109
6.1.3 INTO子句 112
6.1.4 WHERE子句 114
6.1.5 ORDER BY子句 117
6.2 SELECT語句的統計功能 118
6.2.1 集合函數 118
6.2.2 GROUP BY子句 119
6.3 SELECT語句中的多表連接 121
6.3.1 交叉連接 122
6.3.2 內連接 123
6.3.3 外連接 124
6.3.4 自連接 126
6.3.5 合并查詢 126
6.4 子查詢 127
6.4.1 嵌套子查詢 127
6.4.2 相關子查詢 129
6.4.3 使用子查詢向表中添加多條
記錄 130
本章實訓 數據查詢 131
本章小結 134
習題 136
第7章 視圖及其應用 137
7.1 視圖概述 137
7.1.1 視圖的基本概念 137
7.1.2 視圖的種類及約束 137
7.2 視圖的創建和查詢 138
7.2.1 用SQL Server Management Studio創建視圖 139
7.2.2 用CREATE VIEW命令創建
視圖 140
7.2.3 使用視圖查詢數據 140
7.3 視圖的管理和維護 141
7.3.1 查看視圖的定義信息 141
7.3.2 查看視圖與其他對象的依賴關系 142
7.3.3 視圖的修改 143
7.3.4 視圖的刪除 144
7.4 通過視圖修改表數據 144
本章實訓 視圖的操作 145
本章小結 147
習題 148
第8章 索引及其應用 149
8.1 索引概述 149
8.1.1 索引的功能 149
8.1.2 創建索引的原則 150
8.1.3 索引的分類 151
8.2 創建索引 152
8.2.1 系統自動創建索引 152
8.2.2 用SQL Server Management Studio創建索引 153
8.2.3 用CREATE INDEX語句創建索引 156
8.3 管理和維護索引 157
8.3.1 查看和維護索引信息 157
8.3.2 刪除索引 158
8.3.3 索引的分析與維護 159
本章實訓 索引的應用 163
本章小結 164
習題 164
第9章 T-SQL語言 166
9.1 批處理、腳本和注釋 166
9.1.1 批處理 166
9.1.2 腳本 167
9.1.3 注釋 168
9.2 常量、變量和表達式 168
9.2.1 常量 169
9.2.2 變量 170
9.2.3 運算符與表達式 173
9.3 流程控制語句 176
9.3.1 BEGIN…END語句塊 176
9.3.2 IF…ELSE語句 176
9.3.3 CASE表達式 177
9.3.4 無條件轉移語句GOTO 180
9.3.5 WAITFOR語句 180
9.3.6 WHILE語句 180
9.3.7 RETURN語句 181
9.4 系統內置函數 182
9.4.1 行集函數 182
9.4.2 聚合函數 183
9.4.3 標量函數 184
9.5 用戶自定義函數 194
9.5.1 用戶自定義函數的創建與調用 194
9.5.2 查看與修改用戶自定義函數 198
9.5.3 刪除用戶自定義函數 200
9.6 游標及其使用 201
9.6.1 游標概述 201
9.6.2 游標的定義與使用 202
本章實訓 T-SQL語言的使用 209
本章小結 212
習題 212
第10章 存儲過程和觸發器 213
10.1 存儲過程概述 213
10.1.1 存儲過程的分類 213
10.1.2 存儲過程的優點 215
10.2 建立和執行存儲過程 215
10.2.1 系統表sysobjects 216
10.2.2 創建存儲過程 216
10.2.3 創建不帶參數的存儲過程 218
10.2.4 存儲過程的執行 219
10.2.5 帶輸入參數的存儲過程 221
10.2.6 帶輸出參數的存儲過程 222
10.3 存儲過程的管理與維護 225
10.3.1 查看存儲過程的定義信息 225
10.3.2 存儲過程的修改 228
10.3.3 存儲過程的重編譯 229
10.3.4 刪除存儲過程 230
10.4 觸發器概述 230
10.4.1 觸發器的優點 231
10.4.2 觸發器的種類 231
10.4.3 使用觸發器的限制 232
10.5 觸發器的創建 232
10.5.1 DML觸發器的工作原理 232
10.5.2 創建DML觸發器 233
10.5.3 DDL觸發器的創建 238
10.6 觸發器的管理 239
10.6.1 觸發器的查看 239
10.6.2 觸發器的修改與刪除 241
10.6.3 觸發器的禁用和啟用 242
10.7 事務 243
10.7.1 基本概念 243
10.7.2 事務處理 244
本章實訓 存儲過程和觸發器的使用 246
本章小結 248
習題 248
第11章 備份恢復與導入/導出 249
11.1 備份與恢復的基本概念 249
11.1.1 備份與恢復的需求分析 249
11.1.2 備份數據庫的基本概念 250
11.1.3 數據庫恢復的概念 252
11.2 備份數據庫 253
11.2.1 使用SQL Server Management Studio備份數據庫 253
11.2.2 創建備份設備 254
11.2.3 使用SQL語句備份
數據庫 255
11.3 恢復數據庫 257
11.3.1 恢復數據庫前的準備 257
11.3.2 用SQL Server Management
Studio恢復數據庫 259
11.3.3 用SQL語句恢復數據庫 261
11.4 導入與導出 263
11.4.1 導出數據 263
11.4.2 導入數據 267
本章實訓 備份恢復與導入/導出 270
本章小結 271
習題 272
第12章 SQL Server的安全管理 273
12.1 SQL Server的安全模型 273
12.1.1 SQL Server訪問控制 273
12.1.2 SQL Server身份驗證模式 274
12.2 服務器的安全性 274
12.2.1 創建和修改登錄賬戶 275
12.2.2 禁止或刪除登錄賬戶 279
12.2.3 服務器角色 280
12.3 數據庫的安全性 281
12.3.1 添加數據庫用戶 281
12.3.2 修改數據庫用戶 283
12.3.3 刪除數據庫用戶 284
12.4 數據庫用戶角色 284
12.4.1 固定數據庫角色 284
12.4.2 自定義數據庫角色 285
12.4.3 增加和刪除數據庫角色成員 286
12.5 權限 287
12.5.1 概述 287
12.5.2 權限的管理 289
本章實訓 數據庫安全管理操作 292
本章小結 293
習題 293
第13章 SQL Server開發與編程 294
13.1 ADO.NET簡介 294
13.1.1 ADO.NET對象模型 294
13.1.2 .NET數據提供程序 295
13.1.3 數據集 297
13.1.4 數據集的核心對象 298
13.2 訪問數據 298
13.2.1 SqlConnection類 299
13.2.2 SqlDataAdapter類 300
13.2.3 DataGrid控件 301
13.2.4 DataGridView控件 302
13.3 學生選課系統 303
13.3.1 學生選課系統簡介 303
13.3.2 數據庫設計 303
13.3.3 創建數據庫和表 305
13.3.4 公共類 305
13.3.5 系統登錄與主窗體 308
本章小結 334
參考文獻 335