內容簡介
本書全面講述了Microsoft SQL Server 2005資料庫管理系統的基本原理和技術,內容涵蓋了Microsoft SQL Server 2005的基本結構和功能特點、安裝和配置技術、Transact-SQL語言、安全性管理、資料庫管理、表和視圖管理、存儲過程管理、觸發器管理、索引技術、數據操縱技術、備份和恢復技術、完整性技術等,適合高校相關專業學生學習。
本書內容翔實、示例豐富、結構合理、語言簡潔流暢。該書面向資料庫初學者,既可以作為各種資料庫培訓班和大專院校的資料庫教材,又可供各類資料庫開發人員參考。
目錄
第1章 SQL Server概述1
1.1 SQL Server的體系結構1
1.2 資料庫和資料庫對象2
1.2.1 資料庫的類型和特點2
1.2.2 資料庫對象4
1.3 安全性5
1.3.1 管理規章制度方面的安全性6
1.3.2 資料庫伺服器物理方面的安全性6
1.3.3 資料庫伺服器邏輯方面的安全性7
1.4 管理工具8
1.4.1 SQL Server配置管理器8
1.4.2 Microsoft SQL Server
Management Studio9
1.4.3 SQL Server Profiler11
1.4.4 資料庫引擎最佳化顧問12
1.4.5 實用工具12
1.5 資料庫應用程式開發步驟15
1.6 思考練習16
1.6.1 填空題16
1.6.2 選擇題16
1.6.3 問答題16
第2章 安裝和配置17
2.1 安裝前的準備工作17
2.1.1 版本的特點17
2.1.2 平台要求18
2.2 安裝過程20
2.2.1 安裝過程中的選擇21
2.2.2 安裝結束後的驗證25
2.3 註冊伺服器26
2.4 配置伺服器選項29
2.5 上機實驗35
2.5.1 安裝系統實驗35
2.5.2 設定伺服器配置選項35
2.6 思考練習36
2.6.1 填空題36
2.6.2 選擇題36
2.6.3 問答題36
2.6.4 操作題36
第3章 Transact-SQL語言37
3.1 概述37
3.1.1 Transact-SQL語言與SQL語言37
3.1.2 Transact-SQL語言的類型38
3.1.3 執行Transact-SQL語句的工具40
3.2 數據定義語言42
3.3 數據操縱語言44
3.4 數據控制語言45
3.5 事務管理語言46
3.6 附加的語言元素48
3.6.1 標識符48
3.6.2 變數和常量49
3.6.3 運算符50
3.6.4 表達式55
3.6.5 控制流語言56
3.6.6 錯誤捕捉語言57
3.6.7 注釋59
3.7 上機實驗60
3.7.1 練習使用DDL和DML語言60
3.7.2 練習捕捉程式中的錯誤信息61
3.8 思考練習61
3.8.1 填空題61
3.8.2 選擇題61
3.8.3 問答題61
3.8.4 操作題62
第4章 數據類型和內置函式63
4.1 數據類型63
4.1.1 數據類型和特點63
4.1.2 數字數據類型65
4.1.3 字元數據類型68
4.1.4 datetime和smalldatetime數據類型69
4.1.5 二進制數據類型70
4.1.6 其他數據類型70
4.2 內置函式71
4.2.1 函式的特點和類型72
4.2.2 聚合函式72
4.2.3 配置函式73
4.2.4 加密函式74
4.2.5 游標函式76
4.2.6 日期和時間函式76
4.2.7 數學函式78
4.2.8 元數據函式79
4.2.9 排名函式81
4.2.10 行集函式81
4.2.11 安全函式82
4.2.12 字元串函式83
4.2.13 系統函式85
4.2.14 系統統計函式87
4.2.15 文本和圖像函式88
4.3 上機實驗89
4.3.1 練習使用日期數據類型89
4.3.2 練習使用排名函式89
4.4 思考練習90
4.4.1 填空題90
4.4.2 選擇題90
4.4.3 問答題90
4.4.4 操作題90
第5章 安全管理91
5.1 安全管理概述91
5.2 登錄名管理93
5.2.1 創建登錄名93
5.2.2 修改和刪除登錄名97
5.3 固定伺服器角色98
5.3.1 固定伺服器角色的特點98
5.3.2 固定伺服器角色和登錄名99
5.4 資料庫用戶管理100
5.4.1 創建用戶100
5.4.2 修改和刪除用戶102
5.5 架構管理102
5.5.1 創建架構102
5.5.2 修改和刪除架構104
5.6 資料庫角色105
5.6.1 管理資料庫角色105
5.6.2 固定資料庫角色106
5.6.3 public角色107
5.7 應用程式角色管理108
5.8 許可權管理109
5.8.1 許可權的類型110
5.8.2 常用對象的許可權111
5.8.3 授予許可權112
5.8.4 收回許可權113
5.8.5 否認許可權114
5.9 使用Microsoft SQL Server Management Studio工具115
5.10 上機實驗118
5.10.1 練習創建登錄名賬戶、用戶賬戶和架構118
5.10.2 練習使用GRANT語句、REVOKE語句和DENY語句119
5.11 思考練習120
5.11.1 填空題120
5.11.2 選擇題120
5.11.3 問答題121
5.11.4 操作題121
第6章 管理資料庫123
6.1 概述123
6.2 定義資料庫125
6.2.1 創建資料庫125
6.2.2 設定資料庫選項127
6.2.3 查看資料庫信息131
6.3 修改資料庫132
6.3.1 更改資料庫名稱133
6.3.2 增大資料庫133
6.3.3 收縮資料庫134
6.3.4 修改資料庫檔案137
6.3.5 管理檔案組137
6.4 資料庫快照管理139
6.5 資料庫的其他操作140
6.6 最佳化資料庫141
6.6.1 放置數據檔案和日誌檔案141
6.6.2 使用檔案組142
6.6.3 使用RAID技術142
6.7 上機實驗143
6.7.1 練習創建和修改資料庫143
6.7.2 練習在資料庫中增加檔案組和檔案144
6.8 思考練習144
6.8.1 填空題144
6.8.2 選擇題145
6.8.3 問答題145
6.8.4 操作題145
第7章 管理表147
7.1 概述147
7.1.1 表的特點147
7.1.2 表的類型149
7.1.3 設計表時應該考慮的因素149
7.2 創建和修改表150
7.2.1 創建表150
7.2.2 增加或刪除列153
7.2.3 更改列的數據類型154
7.2.4 創建和修改標識符列155
7.2.5 查看錶的信息157
7.2.6 刪除表158
7.2.7 使用圖形工具執行有關表的操作158
7.3 已分區表159
7.4 上機實驗160
7.4.1 練習創建表160
7.4.2 練習創建具有IDENTITY列的表161
7.5 思考練習162
7.5.1 填空題162
7.5.2 選擇題162
7.5.3 問答題162
7.5.4 操作題162
第8章 基本檢索技術163
8.1 最基本的檢索操作163
8.2 SELECT子句165
8.2.1 選擇指定的數據列165
8.2.2 使用文字串166
8.2.3 改變列標題167
8.2.4 數據運算168
8.2.5 使用ALL和DISTINCT關鍵字171
8.3 排序172
8.4 使用WHERE子句選擇數據行175
8.4.1 簡單搜尋條件175
8.4.2 模糊搜尋條件175
8.4.3 複合搜尋條件177
8.5 使用圖形化工具177
8.6 上機實驗178
8.6.1 練習使用CAST函式和改變列標題178
8.6.2 練習使用LIKE子句179
8.7 思考練習179
8.7.1 填空題179
8.7.2 選擇題180
8.7.3 問答題180
8.7.4 操作題180
第9章 高級檢索技術181
9.1 聚合技術181
9.1.1 SELECT子句中的聚合181
9.1.2 COMPUTE子句中的聚合182
9.2 分組技術183
9.2.1 普通分組技術184
9.2.2 ROLLUP和CUBE關鍵字185
9.3 連線技術187
9.3.1 交叉連線187
9.3.2 內連線188
9.3.3 外連線188
9.4 子查詢技術190
9.5 集合運算技術192
9.6 公用表表達式193
9.7 上機實驗194
9.7.1 練習使用分組和聚合技術194
9.7.2 練習使用連線和子查詢技術195
9.8 思考練習195
9.8.1 填空題195
9.8.2 選擇題196
9.8.3 問答題196
9.8.4 操作題196
第10章 插入、更新和刪除數據197
10.1 一個示例197
10.2 插入數據198
10.3 更新數據201
10.4 刪除數據203
10.5 上機實驗204
10.5.1 練習使用INSERT語句204
10.5.2 練習使用UPDATE語句204
10.6 思考練習205
10.6.1 填空題205
10.6.2 選擇題205
10.6.3 問答題205
10.6.4 操作題206
第11章 約束207
11.1 概述207
11.1.1 數據完整性的概念207
11.1.2 約束的概念和類型208
11.1.3 定義約束的方式209
11.2 管理約束209
11.2.1 DEFAULT約束210
11.2.2 CHECK約束211
11.2.3 主鍵約束212
11.2.4 UNIQUE約束214
11.2.5 外鍵約束215
11.3 禁止約束218
11.3.1 禁止在已有的數據上套用約束218
11.3.2 禁止在載入數據時套用約束219
11.4 上機實驗220
11.4.1 練習定義和使用主鍵約束220
11.4.2 練習定義和使用CHECK約束221
11.5 思考練習221
11.5.1 填空題221
11.5.2 選擇題222
11.5.3 問答題222
11.5.4 操作題222
第12章 索引223
12.1 概述223
12.2 索引的類型和特點224
12.2.1 堆的結構特點224
12.2.2 聚集索引的結構特點226
12.2.3 非聚集索引的結構特點228
12.2.4 其他類型的索引229
12.2.5 訪問數據的方式229
12.3 創建索引230
12.3.1 直接方法和間接方法230
12.3.2 使用CREATE INDEX語句231
12.3.3 資料庫引擎最佳化顧問234
12.3.4 查看索引信息237
12.4 索引維護238
12.4.1 查看索引統計信息238
12.4.2 查看索引碎片信息239
12.4.3 維護索引統計信息240
12.5 上機實驗241
12.5.1 練習創建和重建索引241
12.5.2 練習查看索引碎片信息241
12.6 思考練習242
12.6.1 填空題242
12.6.2 選擇題242
12.6.3 問答題242
12.6.4 操作題242
第13章 視圖243
13.1 概述243
13.2 創建視圖244
13.3 通過視圖修改數據247
13.4 使用圖形化工具定義視圖249
13.5 上機實驗250
13.5.1 練習使用CREATE VIEW語句創建視圖250
13.5.2 練習在CREATE VIEW 語句中使用WITH CHECK OPTION子句250
13.6 思考練習251
13.6.1 填空題251
13.6.2 選擇題251
13.6.3 問答題251
13.6.4 操作題252
第14章 存儲過程253
14.1 概述253
14.2 創建和執行存儲過程255
14.2.1 創建存儲過程的規則255
14.2.2 使用CREATE PROCEDURE語句創建存儲過程256
14.2.3 執行存儲過程258
14.2.4 修改和刪除存儲過程259
14.3 存儲過程的執行過程260
14.4 查看存儲過程的信息261
14.5 上機實驗261
14.5.1 練習創建和執行存儲過程261
14.5.2 練習加密存儲過程定義文本262
14.6 思考練習263
14.6.1 填空題263
14.6.2 選擇題263
14.6.3 問答題263
14.6.4 操作題264
第15章 觸發器265
15.1 概述265
15.2 管理DML觸發器266
15.2.1 DML觸發器的類型266
15.2.2 創建DML觸發器268
15.2.3 DML觸發器的工作原理269
15.2.4 一個DML觸發器示例270
15.3 管理DDL 觸發器275
15.4 上機實驗277
15.4.1 練習創建DML觸發器277
15.4.2 練習創建DDL觸發器278
15.5 思考練習279
15.5.1 填空題279
15.5.2 選擇題279
15.5.3 問答題279
15.5.4 操作題279
第16章 用戶定義函式281
16.1 概述281
16.2 創建用戶定義函式282
16.2.1 創建用戶定義函式時的考慮282
16.2.2 使用CREATE FUNCTION語句283
16.2.3 查看用戶定義函式的信息286
16.3 上機實驗287
16.3.1 練習創建標量函式287
16.3.2 練習創建內聯表值函式287
16.4 思考練習288
16.4.1 填空題288
16.4.2 選擇題288
16.4.3 問答題288
16.4.4 操作題288
第17章 同義詞289
17.1 概述289
17.2 管理同義詞290
17.2.1 可以使用同義詞的
Transact-SQL語句290
17.2.2 使用CREATE SYNONYM語句創建同義詞291
17.2.3 查看同義詞的信息292
17.3 上機實驗293
17.3.1 練習創建同義詞293
17.3.2 練習查看同義詞信息293
17.4 思考練習294
17.4.1 填空題294
17.4.2 選擇題294
17.4.3 問答題294
17.4.4 操作題294
第18章 XML技術295
18.1 概述295
18.2 XML數據類型和查詢296
18.2.1 XML數據類型296
18.2.2 XQuery技術300
18.2.3 XML數據類型方法301
18.3 使用FOR XML子句302
18.3.1 FOR XML RAW303
18.3.2 FOR XML AUTO303
18.3.3 使用FOR XML EXPLICIT305
18.3.4 使用TYPE指令306
18.3.5 使用FOR XML PATH307
18.3.6 嵌套的FOR XML查詢308
18.3.7 內聯XSD架構生成308
18.4 其他XML技術309
18.4.1 XML索引309
18.4.2 使用OPENXML函式310
18.5 上機實驗311
18.5.1 練習使用XML數據類型311
18.5.2 練習使用FOR XML子句312
18.6 思考練習312
18.6.1 填空題312
18.6.2 選擇題313
18.6.3 問答題313
18.6.4 操作題313
附錄 思考練習參考答案315