《SQL Server 2012實用教程/普通高等教育“十一五”國家級規劃教材·計算機系列教材》是根據教育部提出的高等學校計算機基礎教學三層次要求組織編寫的,主要講述大型數據庫管理系統SQL Server 2012的功能、操作和實用開發技術。
《SQL Server 2012實用教程/普通高等教育“十一五”國家級規劃教材·計算機系列教材》以SQL Server 2012為平臺,通過一個貫穿全書的實例詳細講解了數據庫基礎,SQL Server 2012概述,SQL Server數據庫,SQL Server數據表的管理,數據庫的查詢和視圖,索引及其應用,事務處理與鎖,T SQL程序設計基礎,存儲過程,數據完整性與觸發器,備份、恢復與導入、導出,SQL Server的安全管理。本書除最后一章外,每章后均配有實訓內容,以強化學生的實踐能力。在第13章介紹了SQL Server項目開發,將全書所學內容與.NET編程語言相結合,進行了系統化、整體化的提升,并利用Visual C#與SQL Server 2012開發設計了學生選課系統,供學生學習和參考。
本書具有由淺入深、理論聯系實際的特點,在保證教材系統性和科學性的同時注重實踐性和操作性。
本書既可作為高等學校計算機及相關專業的教材和參考書,也可作為數據庫應用系統開發人員的參考書。
數據庫技術是計算機技術領域中發展最快的技術之一,也是應用最廣泛的技術之一,它已經成為計算機信息系統的核心技術和重要基礎。
微軟公司的SQL Server是一個功能完備的數據庫管理系統,SQL Server作為微軟公司在Windows系列平臺上開發的數據庫,一經推出就以其易用性得到了很多用戶的青睞,它使用TransactSQL語言在客戶機與服務器之間發送請求。SQL Server 2012是微軟公司于2011年繼SQL Server 2008之后發布的版本。從SQL Server 2008到SQL Server 2012,不僅僅使數據庫系統具有更高的性能、更強的處理能力,新版本的系統還帶來了許多新的、在舊版本中從未出現的特性。SQL Server 2012作為已經為云技術做好準備的信息平臺,能夠快速構建相應的快速解決方案來實現本地和公有云之間的數據擴展。
目前,我國技能型人才短缺,技能型人才的培養核心是實踐能力,學生應該從在校期間就開始接受實踐能力的培養,以便在畢業后能很快適應社會的需求。為了滿足當前高職高專院校人才培養的要求和當今社會對人才的需求,很多學校的相關專業均開設了有關數據庫技術的課程,而在眾多數據庫系統中,SQL Server以其兼具對大型數據庫技術的要求和易于實現等特點被許多院校列為必修課程。本書正是結合這一實際需要以及最新的數據庫技術知識編寫的。
本書由淺入深地介紹了SQL Server 2012的基本管理與操作方法。全書共有13章,第1章主要介紹數據庫的相關知識;第2章介紹SQL Server 2012的安裝和配置;第3章、第4章介紹SQL Server數據庫和表;第5章介紹數據庫的數據查詢;第6章介紹索引;第7章介紹事務處理與鎖;第8章介紹TSQL編程基礎;第9章介紹存儲過程;第10章介紹數據完整性與觸發器;第11章介紹數據庫的備份、恢復與導入、導出;第12章介紹SQL Server的安全管理;第13章介紹SQL Server項目開發。本書除最后一章外,每章后都配有實訓內容,所有實訓內容均圍繞一個大的實例完成,具有系統性和整體性,在項目開發中采用了先進的基于.NET的技術,有助于學生對新知識、新技術的了解和學習。
為了方便讀者自學,編者盡可能詳細地講解SQL Server 2012和各主要部分內容,并附有大量的屏幕圖例供讀者學習參考,使讀者有身臨其境的感覺。本書概念清晰、敘述準確、重點突出,理論與實踐緊密結合,注重對操作技能的培養;同時圖文并茂,提供了豐富的實例,有助于讀者對所學內容的掌握。本書由李巖、張瑞雪任主編,張玉芬、徐宏偉任副主編。第1~3章由張瑞雪編寫;第4~7章由李巖編寫;第8、9、11章由徐宏偉編寫;第10、12、13章由張玉芬編寫,參加編寫的人員還有于洪鵬、王旭、李康樂等,全書由李巖統稿。
本書既可作為高等學校計算機及相關專業的教材和參考書,也可供從事應用開發工作的人員學習、參考。
由于編者水平有限,加之時間倉促,書中疏漏與錯誤之處在所難免,懇切希望廣大讀者多提寶貴意見。
編者
2015年5月
第1章數據庫基礎/1
1.1數據庫系統概述/1
1.1.1數據庫的基本概念/1
1.1.2數據管理技術的產生和發展/3
1.1.3數據庫系統的特點/5
1.2數據模型/7
1.2.1兩類數據模型/8
1.2.2數據模型的組成要素/9
1.2.3概念模型/10
1.2.4常用的數據模型/13
1.3關系數據庫的基本原理/16
1.3.1關系模型/16
1.3.2關系運算/18
1.3.3關系數據庫的標準語言/21
1.3.4關系模型的規范化/23
1.4實訓項目: 數據庫基礎/30
本章小結/31
習題/32第2章SQL Server 2012概述/33
2.1SQL Server 2012簡介/33
2.1.1SQL Server 2012的發展及特點/33
2.1.2SQL Server 2012的版本/36
2.1.3SQL Server 2012的體系結構/37
2.2SQL Server 2012的安裝/38
2.2.1SQL Server 2012安裝環境的配置/38
2.2.2SQL Server 2012的安裝過程/41
2.3SQL Server 2012常用工具/54
2.3.1SQL Server 2012配置工具/54
2.3.2SQL Server 2012管理平臺/55
2.3.3啟動、停止、暫停和重新啟動
SQL Server服務/572.3.4注冊服務器/58
2.3.5創建服務器組/60
2.4實訓項目: SQL Server 2012的安裝及基本
使用/61
本章小結/62
習題/62第3章SQL Server數據庫/63
3.1SQL Server數據庫概述/63
3.1.1數據庫文件/63
3.1.2數據庫文件組/64
3.1.3數據庫對象/65
3.1.4系統數據庫/66
3.2創建數據庫/67
3.2.1使用對象資源管理器創建數據庫/68
3.2.2使用SQL命令創建數據庫/70
3.2.3事務日志/73
3.3管理和維護數據庫/74
3.3.1打開或切換數據庫/74
3.3.2查看數據庫信息/75
3.3.3使用對象資源管理器修改數據庫
配置/76
3.3.4使用TSQL命令修改數據庫配置/76
3.3.5分離與附加數據庫/78
3.3.6刪除數據庫/80
3.4實訓項目: 數據庫基本操作/81
本章小結/85
習題/85第4章SQL Server數據表的管理/86
4.1創建表/86
4.1.1表的設計/86
4.1.2數據類型/87
4.1.3使用對象資源管理器創建表/90
4.1.4使用TSQL命令方式創建表/91
4.2表的管理和維護/93
4.2.1查看表的屬性/93
4.2.2修改表結構/94
4.2.3刪除數據表/97
4.3表數據的操作/99
4.3.1使用對象資源管理器操作表數據/99
4.3.2使用INSERT命令向表中添加數據/99
4.3.3使用UPDATE命令修改表中的
數據/100
4.3.4使用DELETE或TRANCATE TABLE
命令刪除表中的數據/101
4.3.5常用系統數據表/102
4.4實訓項目: 數據庫表的操作/103
本章小結/105
習題/105第5章數據庫的查詢和視圖/107
5.1簡單SELECT語句/108
5.1.1SELECT語句概述/109
5.1.2完整的SELECT語句的基本語法
格式/109
5.1.3基本的SELECT語句/110
5.1.4INTO子句/114
5.1.5WHERE子句/115
5.1.6ORDER BY子句/119
5.2SELECT語句的統計功能/119
5.2.1集合函數/119
5.2.2GROUP BY子句/121
5.2.3COMPUTE子句/122
5.3SELECT語句中的多表連接/122
5.3.1交叉連接/123
5.3.2內連接/123
5.3.3外連接/124
5.3.4自連接/126
5.3.5合并查詢/126
5.4子查詢/127
5.4.1嵌套子查詢/128
5.4.2相關子查詢/130
5.4.3使用子查詢向表中添加多條記錄/132
5.5數據庫的視圖/132
5.5.1視圖的概述/132
5.5.2視圖的創建/134
5.5.3修改和查看視圖/138
5.5.4使用視圖/140
5.5.5刪除視圖/144
5.6實訓項目: 數據查詢和視圖的應用/145
本章小結/146
習題/147第6章索引及其應用/148
6.1索引概述/148
6.1.1索引的功能/148
6.1.2創建索引的原則/149
6.1.3索引的分類/150
6.2創建索引/152
6.2.1系統自動創建索引/152
6.2.2使用對象資源管理器創建索引/152
6.2.3使用TSQL語句創建索引/155
6.3管理和維護索引/157
6.3.1查看和維護索引信息/157
6.3.2更改索引標識/157
6.3.3刪除索引/157
6.3.4索引的分析與維護/158
6.4全文索引/162
6.4.1使用對象資源管理器創建全文
索引/163
6.4.2使用TSQL創建全文索引/169
6.5實訓項目: 索引的創建及操作/171
本章小結/172
習題/172第7章事務處理與鎖/173
7.1事務概述/173
7.1.1事務的概念/173
7.1.2事務的特征/174
7.2事務處理/174
7.3鎖簡介/177
7.3.1SQL Server鎖的模式/179
7.3.2SQL Server中鎖的查看/180
7.4死鎖及其排除簡介/181
7.5實訓項目: 事務處理與鎖的應用/183
本章小結/184
習題/184第8章TSQL程序設計基礎/185
8.1批處理、腳本和注釋/185
8.1.1批處理/185
8.1.2腳本/187
8.1.3注釋/187
8.2常量、變量和表達式/188
8.2.1常量/188
8.2.2變量/189
8.2.3運算符與表達式/194
8.3流程控制語句/197
8.3.1BEGIN...END語句塊/197
8.3.2IF...ELSE語句/197
8.3.3CASE表達式/198
8.3.4無條件轉移語句GOTO/200
8.3.5WAITFOR語句/201
8.3.6WHILE語句/201
8.3.7RETURN語句/203
8.4系統內置函數/203
8.4.1行集函數/204
8.4.2聚合函數/204
8.4.3標量函數/205
8.5用戶自定義函數/215
8.5.1用戶自定義函數的創建與調用/215
8.5.2查看與修改用戶自定義函數/221
8.5.3刪除用戶自定義函數/224
8.6游標及其使用/224
8.6.1游標概述/224
8.6.2游標的定義與使用/226
8.7實訓項目: TSQL程序設計/233
本章小結/233
習題/234第9章存儲過程/235
9.1存儲過程概述/235
9.1.1存儲過程的分類/235
9.1.2存儲過程的優點/237
9.2建立和執行存儲過程/238
9.2.1系統表sysobjects/238
9.2.2創建存儲過程/239
9.2.3創建不帶參數的存儲過程/241
9.2.4存儲過程的執行/241
9.2.5帶輸入參數的存儲過程/244
9.2.6帶輸出參數的存儲過程/246
9.3存儲過程的管理與維護/248
9.3.1查看存儲過程的定義信息/249
9.3.2存儲過程的修改/251
9.3.3存儲過程的重編譯/253
9.3.4刪除存儲過程/254
9.4實訓項目: 存儲過程的使用/254
本章小結/255
習題/256第10章數據完整性與觸發器/257
10.1數據完整性的概念/257
10.2數據完整性的分類/258
10.3實體完整性的實現/259
10.3.1創建PRIMARY KEY約束和
UNIQUE約束/259
10.3.2刪除PRIMARY KEY約束和
UNIQUE約束/262
10.4域完整性的實現/263
10.4.1CHECK約束的定義與刪除/263
10.4.2規則對象的定義、使用與刪除/266
10.4.3默認值約束的定義與刪除/268
10.4.4默認值對象的定義、使用與刪除/270
10.5參照完整性/272
10.5.1參照完整性的實現/272
10.5.2參照完整性的刪除/272
10.5.3使用TSQL語句管理參照完
整性/273
10.6標識列/275
10.7自定義數據類型/277
10.7.1創建自定義數據類型/277
10.7.2刪除自定義數據類型/279
10.8觸發器概述/279
10.8.1觸發器的優點/279
10.8.2觸發器的種類/280
10.8.3使用觸發器的限制/281
10.9創建觸發器/281
10.9.1DML觸發器的工作原理/281
10.9.2創建DML觸發器/282
10.9.3創建DDL觸發器/287
10.10觸發器的管理/289
10.10.1觸發器的查看/289
10.10.2觸發器的修改與刪除/290
10.10.3觸發器的禁用和啟用/291
10.11實訓項目: 數據庫完整性和觸發器/292
本章小結/293
習題/294第11章備份、恢復與導入、導出/295
11.1備份與恢復的基本概念/295
11.1.1備份與恢復的需求分析/295
11.1.2備份數據庫的基本概念/296
11.1.3數據庫恢復的概念/298
11.2備份數據庫/299
11.2.1使用對象資源管理器備份數據庫/299
11.2.2創建備份設備/301
11.2.3使用SQL語句備份數據庫/302
11.3恢復數據庫/304
11.3.1恢復數據庫前的準備/304
11.3.2使用對象資源管理器恢復數據庫/306
11.3.3使用SQL語句恢復數據庫/308
11.4導入與導出/310
11.5實訓項目: 備份、恢復與導入、導出/318
本章小結/318
習題/318第12章SQL Server的安全管理/319
12.1SQL Server的安全模型/319
12.1.1SQL Server訪問控制/319
12.1.2SQL Server身份驗證模式/320
12.2服務器的安全性/321
12.2.1創建和修改登錄賬戶/321
12.2.2禁止和刪除登錄賬戶/326
12.2.3服務器角色/328
12.3數據庫的安全性/329
12.3.1添加數據庫用戶/329
12.3.2修改數據庫用戶/330
12.3.3刪除數據庫用戶/331
12.4數據庫用戶角色/332
12.4.1固定數據庫角色/332
12.4.2自定義數據庫角色/332
12.4.3增加和刪除數據庫角色成員/334
12.5權限/335
12.5.1權限概述/336
12.5.2權限的管理/337
12.6實訓項目: SQL Server的安全管理/340
本章小結/342
習題/342第13章SQL Server開發與編程/343
13.1ADO.NET簡介/343
13.1.1ADO.NET對象模型/343
13.1.2.NET數據提供程序/344
13.1.3數據集/346
13.1.4數據集的核心對象/347
13.2訪問數據/348
13.2.1SqlConnection類/348
13.2.2SqlDataAdapter類/350
13.2.3DataGrid控件/351
13.2.4DataGridView控件/352
13.3學生選課系統/353
13.3.1學生選課系統簡介/353
13.3.2數據庫設計/353
13.3.3創建數據庫和表/355
13.3.4公共類/355
13.3.5系統登錄與主窗體/358
本章小結/387