內容介紹
本書由淺入深,全面、系統地介紹了SQL Server 2008開發、維護技術。本書提供了大量示例,供讀者實戰演練,以幫助讀者更好地學習本書內容。這些示例原始碼及所用到的示例資料庫一起收錄於本書的配書光碟中。本書共分15章,主要內容有:SQL Server 2008概述、安裝SQL Server 2008、SQL Server Management Studio管理器、Transact-SQL語言入門、數據查詢利器——SELECT命令、數據處理、視圖、存儲過程、函式、約束、觸發器、事務和鎖、索引和查詢最佳化、資料庫備份與恢復、SQL Server 2008的安全。
本書涉及面廣,幾乎涉及SQL Server資料庫開發、維護的所有重要知識。本書適合所有想全面學習SQL Server資料庫開發、維護技術的人員閱讀,也適合各行各業中使用SQL Server進行開發、維護的工程技術人員使用。
作品目錄
第1章總攬全局:SQL Server 2008概述 11.1SQL Server簡介 2
1.1.1SQL Server的發展 2
1.1.2SQL Server 2008版本性能介紹 2
1.1.3Transact-SQL語言介紹 3
1.2SQL Server 2008構架設計與新特性 4
1.2.1SQL Server 2008的構架 4
1.2.2SQL Server 2008的新特性與改進 5
1.2.3SQL Server 2008服務進程 7
1.3本章知識點綜合套用 9
1.4本章小結 13
1.5本章習題 14
第2章選取兵器:安裝SQL Server 2008 15
2.1準備安裝SQL Server 2008 16
2.1.1選擇正確的SQL Server 2008資料庫版本 16
2.1.2安裝的硬體要求 17
2.1.3作業系統支持及軟體要求 18
2.1.4基本安裝選項 21
2.2安裝過程 22
2.2.1什麼是SQL Server實例 22
2.2.2安裝SQL Server 2008 23
2.2.3如何查看SQL Server 2008安裝日誌檔案 30
2.2.4驗證安裝 31
2.3配置伺服器選項 33
2.4升級到SQL Server 2008 33
2.4.1升級之前要考慮的問題 33
2.4.2使用SQL Server 2008升級顧問 34
2.4.3升級到SQL Server 2008 36
2.5本章知識點綜合套用 37
2.6本章小結 40
2.7本章習題 41
第3章樁步必練:SQL Server Management Studio管理器 42
3.1SQL Server Management Studio簡介 43
3.1.1啟動SQL Server Management Studio工具 43
3.1.2連線已註冊的伺服器和對象資源管理器 43
3.1.3更改環境布局 45
3.1.4設定啟動選項 47
3.1.5查詢/代碼編輯器 48
3.1.6使用模板資源管理器、解決方案、腳本項目 50
3.2使用SQL Server Management Studio設計資料庫 52
3.2.1創建資料庫 52
3.2.2附加資料庫 53
3.3使用SQL Server Management Studio設計數據表 54
3.3.1新建數據表 54
3.3.2修改數據表 55
3.3.3查看錶屬性 56
3.3.4刪除數據表 57
3.4使用SQL Server Management Studio創建索引 57
3.4.1創建主鍵索引 58
3.4.2創建唯一索引 58
3.4.3查看錶的索引 59
3.4.4刪除索引 60
3.5維護數據表 61
3.5.1在表中插入新列 61
3.5.2改變表中列的排列順序 62
3.5.3自動編號列和標識符列 63
3.5.4可計算的列 63
3.5.5刪除欄位 64
3.6數據表的瀏覽 64
3.6.1查看錶中所有的記錄 65
3.6.2查看錶的某條記錄 65
3.7數據表中數據的維護 66
3.7.1添加新的記錄 66
3.7.2修改現有記錄 67
3.7.3刪除記錄 67
3.8本章知識點綜合套用 68
3.9本章小結 71
3.10本章習題 71
第4章初養內力:Transact-SQL 語言入門 72
4.1Transact-SQL概述 73
4.2常量與變數 74
4.2.1常量 74
4.2.2變數 75
4.3基本運算 82
4.3.1算術運算 82
4.3.2邏輯運算 83
4.3.3字元串處理 84
4.3.4比較運算 85
4.3.5null與空判斷 86
4.3.6日期運算 87
4.3.7大值數據類型 88
4.4流程控制 88
4.4.1IF…ELSE結構 89
4.4.2IF EXISTS()結構 90
4.4.3BEGIN…END結構 91
4.4.4WHILE循環 92
4.4.5GOTO語句 94
4.4.6CASE語句 94
4.5游標 96
4.5.1游標概述 96
4.5.2聲明游標 97
4.5.3打開游標 98
4.5.4使用游標 98
4.5.5關閉游標和釋放游標 100
4.6編碼風格 100
4.6.1關於大小寫 100
4.6.2關於代碼縮進與對齊 101
4.6.3代碼注釋與模組聲明 101
4.7本章知識點綜合套用 102
4.8本章小結 106
4.9本章習題 106
第5章穿喉一劍:數據查詢利器——SELECT命令 107
5.1執行SELECT命令的工具 108
5.1.1使用基於文本的查詢設計器 108
5.1.2使用圖形查詢設計器 112
5.2簡單數據查詢 117
5.3TOP關鍵字 118
5.4ROWCOUNT關鍵字 123
5.5DISTINCT關鍵字 124
5.6WHERE子句 125
5.6.1在WHERE子句中使用比較運算符 126
5.6.2在WHERE子句中使用邏輯運算符 126
5.6.3BETWEEN…AND結構 127
5.6.4IN關鍵字 129
5.6.5LIKE關鍵字 132
5.6.6EXISTS關鍵字 135
5.7設定查詢欄位的顯示名稱 137
5.8使用統計函式 139
5.9GROUP BY子句和HAVING關鍵字 141
5.10ALL關鍵字 144
5.11ORDER BY子句 145
5.12多表查詢 147
5.13UNION表達式 150
5.14CASE表達式 151
5.15INNER JOIN … ON …表達式 152
5.16本章知識點綜合套用 154
5.17本章小結 159
5.18本章習題 160
第6章心無旁騖:數據處理 161
6.1 插入數據 162
6.1.1使用圖形查詢設計器插入數據 162
6.1.2簡單的INSERT語句向表添加一條記錄 164
6.1.3使用SELECT語句 166
6.2更新數據 169
6.2.1使用圖形查詢設計器更新數據 169
6.2.2批量修改 171
6.2.3條件修改 172
6.3刪除數據 174
6.3.1使用圖形查詢設計器刪除數據 175
6.3.2普通的DELETE刪除語句 175
6.3.3TRUNCATE TABLE語句 177
6.3.4對游標的當前行使用 DELETE 178
6.4本章知識點綜合套用 179
6.5本章小結 185
6.6本章習題 185
第7章形神合一:視圖 186
7.1了解視圖 187
7.1.1什麼是視圖 187
7.1.2視圖的種類 188
7.1.3視圖的優點 188
7.1.4視圖的約束 188
7.2在SQL Server Management Studio中創建視圖 189
7.2.1使用SQL Server Management Studio創建標準視圖 189
7.2.2查看視圖的結構信息 191
7.2.3查詢視圖數據 193
7.3用CREATE VIEW創建視圖 194
7.3.1使用CREATE VIEW創建視圖的示例 194
7.3.2基本語法 195
7.3.3操作示例 196
7.4單擊查看名人信息——ListView的套用 200
7.4.1使用SQL Server Management Studio修改簡單的視圖 200
7.4.2使用SQL Server Management Studio修改視圖的一般過程 202
7.5用ALTER VIEW修改視圖 203
7.5.1使用ALTER VIEW修改視圖的示例 203
7.5.2基本語法 205
7.5.3操作示例 206
7.6通過視圖修改數據 209
7.6.1使用視圖修改數據的示例 209
7.6.2操作說明總結 211
7.7在SQL Server Management Studio中刪除視圖 212
7.7.1使用SQL Server Management Studio刪除視圖的示例 212
7.7.2使用SQL Server Management Studio刪除視圖的一般過程 212
7.8用DROP VIEW刪除視圖 213
7.8.1基本語法 213
7.8.2使用DROP VIEW創建視圖的示例 213
7.9本章知識點綜合套用 213
7.10本章小結 220
7.11本章習題 221
第8章以靜制動:存儲過程 222
8.1存儲過程概述 223
8.2設計存儲過程 223
8.3創建存儲過程 224
8.3.1在SQL Server Management Studio中創建存儲過程 224
8.3.2用CREATE PROCEDURE語句創建存儲過程 226
8.4修改存儲過程 231
8.4.1在SQL Server Management Studio中修改存儲過程 231
8.4.2用ALTER PROCEDURER語句修改存儲過程 233
8.5執行存儲過程 235
8.5.1在SQL Server Management Studio中執行存儲過程 235
8.5.2用EXECUTE語句執行存儲過程 237
8.6刪除存儲過程 238
8.6.1在SQL Server Management Studio中刪除存儲過程 238
8.6.2用DROP PROCEDURE語句刪除存儲過程 238
8.7常用系統存儲過程 239
8.7.1sp_help存儲過程 239
8.7.2sp_rename、sp_renamedb存儲過程 240
8.7.3常用系統存儲過程分類 241
8.8建立CLR存儲過程 244
8.9本章知識點綜合套用 248
8.10本章小結 255
8.11本章習題 256
第9章以一敵百:函式 257
9.1函式概述 258
9.1.1函式的結構 258
9.1.2函式的類型 258
9.1.3使用函式的優點 258
9.2設計用戶定義函式 259
9.2.1選擇函式類型 259
9.2.2函式與存儲過程 259
9.3創建用戶定義函式 260
9.3.1在SQL Server Management Studio中建立用戶自定義函式 260
9.3.2用CREATE FUNCTION語句創建函式 262
9.4執行用戶定義函式 265
9.4.1執行的位置 265
9.4.2執行用戶定義函式的例子 266
9.5刪除用戶定義函式 267
9.5.1在SQL Server Management Studio中刪除用戶定義函式 267
9.5.2用DROP FUNCTION語句刪除用戶定義函式 268
9.6常用內置函式 269
9.6.1聚合函式 269
9.6.2配置函式 271
9.6.3游標函式 273
9.6.4日期和時間函式 273
9.6.5數學函式 274
9.6.6元數據函式 275
9.6.7排名函式 277
9.6.8行集函式 277
9.6.9安全函式 278
9.6.10字元串函式 279
9.6.11系統函式 280
9.6.12系統統計函式 282
9.6.13文本和圖像函式 283
9.7創建CLR函式 284
9.7.1創建CLR函式的一般步驟 283
9.7.2使用CLR函式的優點 284
9.7.3創建CLR函式的實例 284
9.8本章知識點綜合套用 287
9.9本章小結 292
9.10本章習題 292
第10章張弛有度:約束 294
10.1約束概述 295
10.1.1數據完整性 295
10.1.2約束的概念和類型 296
10.2設計約束 296
10.2.1定義約束的方式 297
10.2.2定義約束的語法結構 297
10.3主鍵約束 298
10.3.1一個主鍵約束的示例 298
10.3.2使用表設計器定義主鍵約束 299
10.3.3使用T-SQL定義主鍵約束 300
10.4外鍵約束 302
10.4.1一個外鍵約束的示例 302
10.4.2使用表設計器定義外鍵約束 304
10.4.3使用T-SQL定義外鍵約束 309
10.5UNIQUE約束 310
10.5.1一個UNIQUE約束的示例 310
10.5.2使用表設計器定義UNIQUE約束 313
10.5.3使用T-SQL定義UNIQUE約束 315
10.6CHECK約束 316
10.6.1一個CHECK約束的示例 317
10.6.2使用表設計器定義CHECK約束 317
10.6.3使用T-SQL定義CHECK約束 320
10.7DEFAULT約束 320
10.7.1使用表設計器定義DEFAULT約束 321
10.7.2使用T-SQL定義DEFAULT約束 321
10.8禁用約束 322
10.8.1對複製禁用外鍵約束 322
10.8.2對複製禁用CHECK約束 323
10.8.3對INSERT和UPDATE語句禁用外鍵約束 324
10.8.4對INSERT和UPDATE語句禁用CHECK約束 325
10.9本章知識點綜合套用 325
10.10本章小結 329
10.11本章習題 330
第11章觸發器 331
11.1觸發器概述 332
11.1.1觸發器的作用 332
11.1.2觸發器的分類 332
11.1.3觸發器的工作原理 333
11.2設計觸發器 333
11.2.1理解AFTER、INSTEAD OF觸發器的使用要求 333
11.2.2創建觸發器前應考慮的問題 334
11.3創建觸發器 334
11.3.1在SQL Server Management Studio中創建觸發器的步驟 334
11.3.2使用CREATE TRIGGER語句創建觸發器 337
11.4修改觸發器 339
11.4.1在SQL Server Management Studio中修改觸發器的步驟 339
11.4.2使用ALTER TRIGGER語句修改觸發器 340
11.5刪除觸發器 342
11.5.1使用SQL Server Management Studio刪除觸發器 342
11.5.2使用DROP TRIGGER語句刪除觸發器 343
11.6禁用/啟用觸發器 344
11.6.1禁用觸發器 344
11.6.2啟用觸發器 346
11.7設計CLR觸發器 348
11.7.1創建CLR觸發器的一般步驟 348
11.7.2創建CLR觸發器的示例 349
11.8設計DDL觸發器 353
11.8.1CREATE TRIGGER創建DDL觸發器的語法 353
11.8.2使用CREATE TRIGGER創建DDL觸發器的示例 354
11.9本章知識點綜合套用 355
11.10本章小結 360
11.11本章習題 360
第12章循規蹈矩:事務和鎖 361
12.1事務 362
12.1.1事務的特點 362
12.1.2啟動事務(BEGIN TRANSACTION) 362
12.1.3保存事務(SAVE TRANSACTION) 364
12.1.4提交事務(COMMIT TRANSACTION) 365
12.1.5回滾事務(ROLLBACK TRANSACTION) 366
12.1.6自動提交事務 369
12.1.7顯式事務 371
12.1.8隱式事務 373
12.1.9事務嵌套 375
12.2管理並發數據訪問 379
12.2.1並發的影響 379
12.2.2並發控制的類型 380
12.2.3事務的隔離級別 380
12.3鎖定 381
12.3.1可以鎖定的資源 381
12.3.2鎖模式 382
12.3.3死鎖 383
12.4本章知識點綜合套用 384
12.5本章小結 386
12.6本章習題 387
第13章化繁為簡:索引和查詢最佳化 388
13.1索引概述 389
13.1.1聚集索引和非聚集索引 389
13.1.2填充因子 389
13.1.3使用目錄視圖查看索引 389
13.2用CREATE INDEX語句創建索引 391
13.2.1基本語法 391
13.2.2創建簡單的複合索引 394
13.2.3創建唯一索引 395
13.2.4創建聚集索引 397
13.2.5指定索引存放的檔案組 399
13.3用ALTER INDEX語句修改索引 400
13.3.1基本語法 400
13.3.2設定索引的選項 401
13.3.3禁用/啟用索引 402
13.4用DROP INDEX語句刪除索引 404
13.4.1基本語法 404
13.4.2使用DROP INDEX刪除聚集索引並將表移動到新檔案組 405
13.4.3使用DROP INDEX刪除PRIMARY KEY約束 408
13.5重新組織和重新生成索引 410
13.5.1理解重新組織、生成索引 410
13.5.2重新組織索引 411
13.5.3重新生成索引 413
13.6本章知識點綜合套用 414
13.7本章小結 415
13.8本章習題 416
第14章以進為退:資料庫備份與恢復 417
14.1備份與恢復簡介 418
14.1.1備份類型 418
14.1.2恢復模式 419
14.1.3如何備份資料庫 421
14.1.4資料庫備份到哪裡 422
14.2在SQL Server Management Studio中備份資料庫 424
14.3用T-SQL語言備份資料庫 428
14.3.1完整備份與差異備份 428
14.3.2備份檔案和檔案組 431
14.3.3事務日誌備份 432
14.4備份設備管理 434
14.4.1查看備份設備的內容 434
14.4.2通過備份設備來備份資料庫 436
14.4.3驗證備份的內容 437
14.4.4刪除備份設備 438
14.5在SQL Server Management Studio中還原資料庫 440
14.5.1還原資料庫的方式 440
14.5.2還原資料庫前要注意的事項 440
14.5.3還原資料庫備份 440
14.5.4還原檔案和檔案組備份 444
14.5.5從現有的備份創建新的資料庫 446
14.6用T-SQL語言還原資料庫 448
14.6.1還原完整備份 448
14.6.2還原差異備份 451
14.6.3還原事務日誌備份 452
14.6.4還原檔案和檔案組備份 452
14.6.5將資料庫還原到某個時間點 453
14.6.6將檔案還原到新位置上 454
14.7建立自動備份的維護計畫 454
14.8本章知識點綜合套用 458
14.8本章小結 461
14.9本章習題 461
第15章攻防相守:SQL Server 2008的安全 462
15.1SQL Server 2008的身份驗證模式 463
15.2訪問許可權 465
15.3用戶和登錄名 466
15.3.1創建SQL Server登錄名 466
15.3.2添加用戶 467
15.3.3使用新登錄名登錄 469
15.3.4為用戶設定許可權 470
15.4角色 476
15.4.1角色介紹 476
15.4.2伺服器角色 477
15.4.3將用戶設為伺服器角色成員 477
15.4.4資料庫角色 477
15.4.5將用戶設為資料庫角色成員 478
15.4.6創建用戶自定義資料庫角色 479
15.4.7應用程式角色 481
15.4.8創建應用程式角色 481
15.4.9使用應用程式角色 483
15.5架構 485
15.6確保資料庫伺服器的安全 486
15.7本章知識點綜合套用 488
15.8本章小結 491
15.9本章習題 492