本書以SQL Server 2008為平臺,由淺入深地介紹SQL Server 2008中比較基本、常用和重要的知識,主要包括數據庫基礎知識、安裝和配置SQL Server 2008、學生管理數據庫的操作、學生管理數據庫數據表的操作、學生管理數據庫的查詢、TransactSQL語言基礎、學生管理數據庫的視圖與索引、實現學生管理數據庫的數據完整性、學生管理數據庫的存儲過程與觸發器、備份與還原學生管理數據庫和學生管理數據庫的安全管理等。
本書結構清晰、內容翔實、通俗易懂、實用性強,并提供全部實例的程序代碼、教學配套電子課件及課后習題答案。
本書可作為高職高專計算機及相關專業的教學用書,可供各類成人教育或有一定SQL Server 2008基礎的數據庫管理開發技術人員參考,也可作為各層次的培訓教材或相關從業人員的自學用書。本書封面貼有清華大學出版社防偽標簽,無標簽者不得銷售。
出現在微軟數據平臺愿景上是因為它使得公司可以運行他們關鍵任務的應用程序,同時降低了管理數據基礎設施和發送觀察與信息給所有用戶的成本。
這個平臺有以下特點:
·可信任的——使得公司可以以很高的安全性、可靠性和可擴展性來運行他們關鍵任務的應用程序。
·高效的——使得公司可以降低開發和管理他們的數據基礎設施的時間和成本。
·智能的——提供了一個全面的平臺,可以在你的用戶需要的時候給他發送觀察和信息。
項目1數據庫基礎知識1
1.1教學情景1
1.2教學導航1
1.3預備知識1——數據庫的基本概念1
1.3.1信息、數據與數據處理1
1.3.2數據庫、數據庫系統、數據庫管理系統2
1.4預備知識2——數據庫管理技術及發展3
1.4.1數據管理技術的發展階段3
1.4.2數據庫系統的特點4
1.5預備知識3——數據模型5
1.5.1數據模型的類型6
1.5.2概念模型6
1.5.3層次模型7
1.5.4網狀模型8
1.5.5關系模型8
1.6預備知識4——關系數據庫理論9
1.6.1關系操作10
1.6.2關系運算10
1.6.3關系的完整性12
1.7項目小結13
1.8思考與習題14
項目2安裝和配置SQL Server 200815
2.1教學情景15
2.2教學導航15
2.3預備知識1——SQL Server 2008概述15
2.3.1SQL Server 2008的體系結構16
2.3.2SQL Server 2008的特性16
2.3.3SQL Server 2008的版本17
2.4預備知識2——安裝與配置SQL Server 200817
2.4.1SQL Server 2008的硬件要求182.4.2SQL Server 2008的軟件要求18
2.4.3SQL Server 2008的配置18
2.5預備知識3——連接到SQL Server 2008數據庫19
2.5.1數據庫身份驗證模式19
2.5.2數據庫的類型19
2.6操作實踐20
2.6.1任務1: 安裝SQL Server 200820
2.6.2任務2: 檢驗安裝26
2.6.3任務3: 配置SQL Server 200828
2.7課外拓展實踐31
2.8項目小結31
2.9思考與習題32
項目3學生管理數據庫的操作33
3.1教學情景33
3.2教學導航33
3.3預備知識1——SQL Server數據庫的結構33
3.3.1數據存儲33
3.3.2數據庫文件34
3.3.3文件組34
3.3.4數據庫對象35
3.4預備知識2——數據庫的操作36
3.5操作實踐36
3.5.1任務1: 用SSMS創建學生管理數據庫stu36
3.5.2任務2: 用SSMS修改學生管理數據庫stu39
3.5.3任務3: 使用TransactSQL(TSQL)語句操作
學生管理數據庫stu44
3.6課外拓展實踐55
3.7項目小結56
3.8思考與習題56
項目4學生管理數據庫數據表的操作57
4.1教學情景57
4.2教學導航57
4.3預備知識——表的概述57
4.3.1表的定義57
4.3.2SQL Server 2008數據類型58
4.3.3別名數據類型59
4.4操作實踐59
4.4.1任務1: 創建別名數據類型59
4.4.2任務2: 刪除別名數據類型62
4.4.3任務3: 使用SSMS創建學生管理數據庫stu的數據表63
4.4.4任務4: 使用SSMS修改學生管理數據庫stu中的表結構64
4.4.5任務5: 使用SSMS刪除學生管理數據庫stu中的表67
4.4.6任務6: 使用SSMS向學生管理數據庫stu的數據
表中插入數據67
4.4.7任務7: 使用SSMS刪除學生管理數據庫stu的數據表中數據68
4.4.8任務8: 使用SSMS修改學生管理數據庫stu的數據表中數據68
4.4.9任務9: 使用TransactSQL語句創建學生管理數據庫
stu的數據表69
4.4.10任務10: 使用TransactSQL語句修改學生管理數據庫
stu中的表結構70
4.4.11任務11: 使用TransactSQL語句刪除學生管理數據庫
stu中的表73
4.4.12任務12: 使用TransactSQL語句向學生管理數據庫
stu的數據表中插入數據74
4.4.13任務13: 使用TransactSQL語句修改學生管理數據庫
stu的數據表中數據76
4.4.14任務14: 使用TransactSQL語句刪除學生管理數據庫
stu的數據表中數據77
4.5課外拓展實踐78
4.6項目小結79
4.7思考與習題80
項目5學生管理數據庫的查詢81
5.1教學情景81
5.2教學導航81
5.3預備知識1——SELECT語句概述81
5.3.1選擇列82
5.3.2WHERE子句83
5.3.3GROUP BY子句85
5.3.4HAVING子句86
5.3.5ORDER BY子句86
5.4預備知識2——多表連接查詢86
5.4.1內連接86
5.4.2外連接87
5.4.3交叉連接87
5.4.4自連接87
5.4.5組合查詢87
5.5預備知識3——子查詢88
5.5.1帶有IN運算符的子查詢88
5.5.2帶有比較運算符的子查詢88
5.5.3帶有EXISTS運算符的子查詢88
5.5.4單值子查詢89
5.6操作實踐89
5.6.1任務1: 使用SELECT語句查詢學生管理數據庫stu89
5.6.2任務2: 使用WHERE語句查詢學生管理數據庫stu94
5.6.3任務3: 使用GROUP BY子句查詢學生管理數據庫stu100
5.6.4任務4: 使用HAVING子句查詢學生管理數據庫stu102
5.6.5任務5: 使用ORDER BY子句查詢學生管理數據庫stu103
5.6.6任務6: 多表連接查詢104
5.6.7任務7: 子查詢113
5.7課外拓展實踐116
5.8項目小結117
5.9思考與習題117
項目6TransactSQL語言基礎118
6.1教學情景118
6.2教學導航118
6.3預備知識1——TransactSQL語言概述118
6.3.1TransactSQL語言的組成118
6.3.2常量119
6.3.3變量122
6.3.4運算符與表達式124
6.4預備知識2——流程控制語句127
6.4.1BEGIN...END語句塊127
6.4.2IF...ELSE條件語句127
6.4.3CASE表達式128
6.4.4無條件轉移語句129
6.4.5循環語句129
6.4.6返回語句130
6.4.7等待語句130
6.4.8錯誤處理語句130
6.5常用函數131
6.5.1系統內置函數131
6.5.2用戶自定義函數135
6.6操作實踐136
6.6.1任務1: 使用變量136
6.6.2任務2: 使用運算符與表達式137
6.6.3任務3: 使用流程控制語句139
6.6.4任務4: 使用常用函數142
6.7課外拓展實踐147
6.8項目小結147
6.9思考與習題148
項目7學生管理數據庫的視圖與索引149
7.1教學情景149
7.2教學導航149
7.3預備知識1——視圖149
7.4預備知識2——索引149
7.5操作實踐150
7.5.1任務1: 視圖的操作150
7.5.2任務2: 索引的操作160
7.6課外拓展實踐167
7.7項目小結168
7.8思考與習題168
項目8實現學生管理數據庫的數據完整性169
8.1教學情景169
8.2教學導航169
8.3預備知識1——數據完整性概述169
8.3.1數據完整性的概念169
8.3.2數據完整性的類型170
8.4預備知識2——實現約束170
8.4.1PRIMARY KEY(主鍵)約束170
8.4.2DEFAULT(默認)約束171
8.4.3CHECK(檢查)約束171
8.4.4UNIQUE(唯一)約束171
8.4.5NULL(空值)與NOT NULL(非空值)約束171
8.4.6FOREIGN KEY(外鍵)約束171
8.5預備知識3——使用IDENTITY(標識符)列172
8.6操作實踐172
8.6.1任務1: 實現PRIMARY KEY(主鍵)約束172
8.6.2任務2: 實現DEFAULT(默認)約束174
8.6.3任務3: 實現CHECK(檢查)約束176
8.6.4任務4: 實現UNIQUE(唯一)約束178
8.6.5任務5: 實現NULL(空值)與NOT NULL(非空值)約束179
8.6.6任務6: 實現FOREIGN KEY(外鍵)約束180
8.6.7任務7: 使用IDENTITY(標識符)列181
8.7課外拓展實踐183
8.8項目小結183
8.9思考與習題184
項目9學生管理數據庫的存儲過程與觸發器185
9.1教學情景185
9.2教學導航185
9.3預備知識1——存儲過程概述185
9.3.1存儲過程的概念185
9.3.2存儲過程的類型185
9.4預備知識2——簡單存儲過程的操作186
9.5預備知識3——創建參數化存儲過程186
9.5.1創建和執行帶輸入參數的存儲過程186
9.5.2創建和執行帶輸出參數的存儲過程186
9.6預備知識4——觸發器概述187
9.6.1觸發器的概念187
9.6.2觸發器的類型187
9.7預備知識5——觸發器的操作187
9.8操作實踐188
9.8.1任務1: 創建存儲過程188
9.8.2任務2: 執行存儲過程189
9.8.3任務3: 查看存儲過程190
9.8.4任務4: 修改存儲過程190
9.8.5任務5: 刪除存儲過程191
9.8.6任務6: 創建和執行帶輸入參數的存儲過程192
9.8.7任務7: 創建和執行帶輸出參數的存儲過程193
9.8.8任務8: 創建DML觸發器和DDL觸發器194
9.8.9任務9: 啟用/禁用觸發器198
9.8.10任務10: 修改觸發器199
9.8.11任務11: 刪除觸發器200
9.9課外拓展實踐201
9.10項目小結201
9.11思考與習題202
項目10備份與還原學生管理數據庫203
10.1教學情景203
10.2教學導航203
10.3預備知識1——備份概述203
10.3.1備份的概念203
10.3.2備份的類型203
10.3.3備份設備204
10.4預備知識2——備份數據205
10.4.1完整備份205
10.4.2差異備份205
10.4.3事務日志備份205
10.4.4文件或文件組備份206
10.5預備知識3——還原概述206
10.5.1還原的概念206
10.5.2還原的策略206
10.6預備知識4——還原數據207
10.6.1常規還原207
10.6.2時間點還原207
10.7預備知識5——復制數據庫207
10.8操作實踐208
10.8.1任務1: 備份設備的創建與刪除208
10.8.2任務2: 學生管理數據庫stu的完整備份210
10.8.3任務3: 學生管理數據庫stu的差異備份214
10.8.4任務4: 學生管理數據庫stu的事務日志備份217
10.8.5任務5: 學生管理數據庫stu的文件或文件組備份219
10.8.6任務6: 學生管理數據庫stu的常規還原222
10.8.7任務7: 學生管理數據庫stu的時間點還原224
10.8.8任務8: 學生管理數據庫stu的復制225
10.9課外拓展實踐228
10.10項目小結229
10.11思考與習題229
項目11學生管理數據庫的安全管理230
11.1教學情景230
11.2教學導航230
11.3預備知識1——SQL Server的安全性機制230
11.3.1安全簡介230
11.3.2安全機制231
11.4預備知識2——管理登錄名和用戶232
11.5預備知識3——角色管理232
11.5.1固定服務器角色232
11.5.2固定數據庫角色233
11.5.3自定義數據庫角色233
11.5.4應用程序角色233
11.6預備知識4——數據庫權限的管理233
11.7預備知識5——架構管理234
11.8操作實踐234
11.8.1任務1: 創建登錄名234
11.8.2任務2: 創建用戶236
11.8.3任務3: 刪除登錄名238
11.8.4任務4: 刪除用戶239
11.8.5任務5: 固定服務器角色的管理240
11.8.6任務6: 固定數據庫角色的管理242
11.8.7任務7: 自定義數據庫角色的管理244
11.8.8任務8: 應用程序角色的管理246
11.8.9任務9: 授予權限248
11.8.10任務10: 拒絕權限250
11.8.11任務11: 撤銷權限251
11.8.12任務12: 創建架構251
11.8.13任務13: 修改架構253
11.8.14任務14: 刪除架構256
11.9課外拓展實踐257
11.10項目小結257
11.11思考與習題257
附錄stu樣本數據庫258
參考文獻261
第1章銷售管理數據庫的開發環境1
1.1SQL Server 2008概述1
1.2SQL Server 2008的安裝2
1.2.1SQL Server 2008的版本2
1.2.2SQL Server 2008的安裝環境要求3
1.2.3SQL Server 2008的安裝過程4
1.3SQL Server Management Studio簡介15
1.3.1啟動SQL Server Management Studio15
1.3.2SQL Server管理環境16
1.3.3附加銷售管理數據庫CompanySales18
1.3.4聯機幫助文檔20
1.4創建一個查詢21
習題22
實訓23
第2章銷售管理數據庫的創建和管理24
2.1數據庫概述24
2.1.1基本概念24
2.1.2數據描述25
2.2系統數據庫25
2.3數據庫存儲結構26
2.3.1數據庫文件27
2.3.2文件組28
2.4銷售管理數據庫的創建28
2.4.1使用SSMS28
2.4.2使用CREATE DATABASE語句29
2.4.3使用模板32
2.5銷售管理數據庫的管理和維護33
2.5.1修改數據文件和事務日志文件的容量 34
2.5.2收縮數據庫37
2.5.3更改數據庫名稱392.5.4刪除數據庫40
2.5.5打開數據庫41
2.5.6查看數據庫信息41
2.5.7分離和附加數據庫42
2.5.8聯機和脫機45
習題46
實訓47
第3章銷售管理數據庫數據表的創建和管理48
3.1數據表概述48
3.1.1表的基本概念48
3.1.2列數據類型49
3.1.3列的屬性51
3.1.4數據完整性52
3.1.5銷售管理數據庫數據表結構53
3.2創建銷售管理數據庫的數據表55
3.2.1使用SSMS55
3.2.2使用CREATE TABLE語句56
3.2.3使用模板57
3.3銷售管理數據庫的數據表管理58
3.3.1查看表結構58
3.3.2修改數據表結構60
3.3.3刪除數據表62
3.3.4重命名數據表63
3.4銷售管理數據庫數據的約束63
3.4.1約束概述63
3.4.2主鍵約束65
3.4.3外鍵約束68
3.4.4唯一約束71
3.4.5檢查約束72
3.4.6默認值約束74
3.4.7默認值和規則75
3.5銷售管理數據庫數據表中數據的操作80
3.5.1插入記錄80
3.5.2插入多行記錄84
3.5.3更新記錄85
3.5.4刪除記錄 86
習題86
實訓87
第4章銷售管理數據庫的數據查詢89
4.1SELECT語句89
4.1.1SELECT語法格式89
4.1.2SELECT語句的執行方式90
4.2簡單查詢91
4.2.1SELECT子句92
4.2.2INTO子句99
4.2.3WHERE子句99
4.2.4ORDER BY子句106
4.2.5GROUP BY子句107
4.2.6HAVING子句108
4.2.7COMPUTE子句110
4.3連接查詢113
4.3.1連接概述113
4.3.2交叉連接113
4.3.3內連接114
4.3.4外連接117
4.4嵌套查詢119
4.4.1單值嵌套120
4.4.2多值嵌套122
4.4.3相關子查詢125
4.4.4集合查詢126
習題128
實訓128
第5章銷售管理數據庫的編程實現130
5.1TransactSQL語言的基本知識130
5.1.1TransactSQL語言的分類130
5.1.2標識符131
5.1.3數據類型131
5.1.4運算符和表達式132
5.1.5常量134
5.1.6變量134
5.1.7注釋136
5.1.8續行137
5.1.9TransactSQL語法格式約定137
5.1.10數據庫對象命名138
5.2流程控制語句139
5.3函數145
5.3.1聚合函數145
5.3.2數學函數146