內容簡介
SQLServer2008是Microsoft公司最新發布的一款關係型資料庫管理系統,其宗旨是為各類用戶提供完整的資料庫解決方案,幫助用戶建立自己的電子商務體系,增強用戶對外界變化的反應能力,提高用戶在市場競爭中的能力。
本書採取由淺入深的方式,介紹了SQLServer2008從入門到精通所需的各個方面,其中包括SQLServer2008的新增特性和安裝方法、管理及維護資料庫和數據表、SQLServer2008資料庫備份和還原等。此外,還介紹了在SQLServer2008中實現對報表和XML數據進行管理方面的相關知識。最後講解了超市管理系統和商品銷售管理系統兩個案例的開發與套用。同時,本書還介紹了大量的SQLServer使用經驗,對使用中的重點、難點進行了專門的講解,是一本有效、實用的入門指南,適合作為初、中級讀者的入門和參考用書。
目錄
第1篇SQLServer2008基礎篇
第1章SQLServer2008基礎概述 2
1.1了解SQLServer 2
1.1.1SQLServer語言介紹 2
1.1.2SQLServer的發展 3
1.2SQLServer2008資料庫系統概述 3
1.2.1SQLServer2008介紹 4
1.2.2SQLServer2008的新增功能 4
1.3SQLServer2008的安裝與卸載 5
1.3.1安裝SQLServer2008時的注意事項 5
1.3.2安裝的作業系統及硬體要求 5
1.3.3系統安裝的操作步驟 6
1.3.4卸載SQLServer2008 10
1.4小結 10
第2章SQLServer2008資料庫介紹 11
2.1資料庫概述 11
2.1.1資料庫的基本概念 11
2.1.2資料庫的基本結構 11
2.1.3資料庫的特點 12
2.1.4資料庫管理的發展階段 12
2.2資料庫的基本類型 13
2.2.1層次型資料庫 13
2.2.2網路型資料庫 14
2.2.3關係型資料庫 14
2.3SQLServer資料庫中的對象 15
2.3.1數據表 15
2.3.2視圖 15
2.3.3索引 15
2.3.4存儲過程 15
2.3.5觸發器 16
2.3.6約束 16
2.3.7默認值 16
2.3.8角色 16
2.3.9用戶 16
2.4SQLServer2008中的數據類型 17
2.4.1字元串數據類型 17
2.4.2二進制數據類型 17
2.4.3數值數據類型 17
2.4.4浮點數據類型 18
2.4.5日期時間數據類型 18
2.4.6自定義數據類型 19
2.5小結 19
3.1.2設定環境布局 21
3.1.3配置選項 22
3.1.4代碼編輯器的使用 23
3.2管理資料庫 25
3.2.1創建資料庫 25
3.2.2刪除資料庫 27
3.2.3分離資料庫 28
3.2.4附加資料庫 29
3.2.5備份資料庫 30
3.2.6恢複數據庫 31
3.2.7收縮資料庫 34
3.3管理數據表 35
3.3.1創建數據表 35
3.3.2修改數據表 36
3.3.3重命名數據表 38
3.3.4刪除數據表 38
3.3.5導入數據表 39
3.3.6導出數據表 41
3.3.7數據壓縮 44
3.4索引的管理 46
3.4.1創建索引 46
3.4.2管理索引 47
3.4.3刪除索引 49
3.5數據表中記錄信息的維護 50
3.5.1插入數據信息 50
3.5.2修改數據信息 51
3.5.3刪除數據信息 51
3.6小結 52
第4章SQLServer2008中的數據表與
視圖 53
4.1了解數據表與視圖 53
4.1.1什麼是數據表 53
4.1.2數據表的種類 53
4.1.3什麼是視圖 54
4.1.4視圖的種類 54
4.1.5視圖的作用 54
4.2使用CREATETABLE語句創建
數據表 55
4.2.1CREATETABLE語句的語法結構 55
4.2.2創建常見的數據表 55
4.2.3創建具有自動編號欄位的數據表 56
4.2.4創建具有默認值欄位的數據表 57
4.2.5創建具有約束規則的數據表 58
4.2.6創建臨時表 59
4.3使用ALTERTABLE語句修改
數據表 61
4.3.1ALTERTABLE語句的語法結構 61
4.3.2添加新的欄位 61
4.3.3刪除欄位 62
4.3.4修改欄位屬性 62
4.3.5設定數據表主鍵 63
4.3.6禁用與啟用約束 64
4.4使用DROPTABLE語句刪除
數據表 65
4.4.1DROPTABLE語句的語法結構 65
4.4.2刪除數據表 65
4.4.3刪除臨時表 66
4.6使用T-SQL語句管理視圖 71
4.6.1使用CREATEVIEW語句創建
視圖 71
4.6.2使用ALTERVIEW語句修改視圖 73
4.6.3使用DROPVIEW語句刪除視圖 74
4.7視圖的基本套用 75
4.7.1使用視圖查詢數據 75
4.7.2使用視圖統計數據 76
4.7.3通過視圖向數據表中插入數據 77
4.7.4通過視圖修改數據表中的數據 78
4.7.5通過視圖刪除數據表中的數據 79
4.8小結 80
第2篇SQLServer2008資料庫管理篇
第5章T-SQL基礎查詢 82
5.1SELECT查詢語句介紹 82
5.1.1SELECT語句的語法結構 82
5.1.2SELECT語句的執行過程 83
5.2SELECT語句查詢 83
5.2.1查詢指定列數據 83
5.2.2查詢所有列數據 84
5.2.3在查詢時使用別名 85
5.3基礎條件查詢 85
5.3.1相等條件查詢 85
5.3.2不等條件查詢 86
5.3.3區間條件查詢 87
5.4運算符查詢 88
5.4.1AND運算符查詢 88
5.4.2OR運算符查詢 89
5.4.3AND運算符與OR運算符
組合查詢 90
5.4.4IN運算符查詢 91
5.4.5NOTIN運算符查詢 91
5.5日期時間查詢 92
5.5.1查詢指定日期數據 92
5.5.2查詢日期區間數據 93
5.5.3查詢大於或小於某日期的數據 93
5.6模糊查詢 94
5.6.1LIKE運算符查詢 94
5.6.2“%”通配符查詢 95
5.6.3“_”通配符查詢 96
5.6.4“[]”通配符查詢 97
5.7查詢中的相關處理 97
5.7.1去除重複記錄 97
5.7.2查詢前n條數據記錄 98
5.7.3獲取指定欄位的空值 99
5.8對查詢結果進行排序 100
5.8.1ORDERBY語句的語句結構 100
5.8.2單列排序 100
5.8.3多列排序 101
5.8.4在排序時使用序號 102
5.9小結 103
第6章T-SQL高級查詢 104
6.1連線查詢 104
6.1.1多表連線查詢 104
6.1.2內連線查詢 105
6.1.3外連線查詢 106
6.1.4自連線查詢 108
6.2聯合查詢 109
6.2.1UNION語句查詢 109
6.2.2INTERSECT語句查詢 110
6.2.3EXCEPT語句查詢 111
6.3子查詢 112
6.3.1SELECT語句中的子查詢 112
6.3.2IN語句中的子查詢 113
6.3.3EXISTS語句的子查詢 114
6.3.4ANY運算符的子查詢 115
6.3.5ALL運算符的子查詢 115
6.4交叉表查詢 116
6.4.1使用CASE語句實現交叉表查詢 116
6.4.2使用PIVOT語句實現交叉表查詢 117
6.5小結 119
第7章數據維護操作 120
7.1數據的插入操作 120
7.1.1INSERT語句的語法結構 120
7.1.2向數據表中的部分欄位插入數據 121
7.1.3向數據表中所有的欄位插入數據 121
7.1.4NULL值的插入 122
7.1.5使用INSERTINTO…SELECT語句
插入數據 123
7.1.6使用SELECTINTO語句插入數據 125
7.2使用UPDATE語句修改數據記錄 126
7.2.1UPDATE語句的語法結構 126
7.2.2根據條件修改數據記錄 126
7.2.3修改數據表中所有的數據記錄 127
7.2.4修改數據欄位中為NULL的數據
信息 128
7.2.5修改數據表中的前n條數據記錄 129
7.3使用DELETE語句刪除數據記錄 130
7.3.1DELETE語句的語法結構 130
7.3.2根據條件刪除數據記錄 130
7.3.3刪除數據表中所有的數據記錄 131
7.4使用TRUNCATETABLE語句刪除
數據記錄 131
7.4.1TRUNCATETABLE語句的
語法結構 132
7.4.2使用TRUNCATETABLE語句
刪除數據記錄 132
7.5小結 133
第8章存儲過程 134
8.1存儲過程概述 134
8.1.1什麼是存儲過程 134
8.1.2存儲過程的分類 134
8.1.3使用存儲過程的優點 135
8.2創建存儲過程 135
8.2.1在SQLServerManagementStudio
中創建存儲過程 135
8.2.2創建存儲過程的語法結構 136
8.2.3創建簡單的存儲過程 137
8.2.4創建具有輸入參數的存儲過程 138
8.2.5創建帶有返回參數的存儲過程 139
8.2.6創建加密的存儲過程 140
8.2.7創建CLR存儲過程 141
8.3執行存儲過程 143
8.3.1在SQLServerManagementStudio
中執行存儲過程 143
8.3.2使用EXECUTE語句執行存儲過程 144
8.4修改存儲過程 145
8.4.1在SQLServerManagementStudio
中修改存儲過程 146
8.4.2使用ALTERPROCEDURE語句
修改存儲過程 146
8.5重命名存儲過程 148
8.5.1在SQLServerManagementStudio
中重命名存儲過程 148
8.5.2使用sp_rename語句重命名
存儲過程 149
8.6刪除存儲過程 150
8.6.1在SQLServerManagementStudio
中刪除存儲過程 150
8.6.2使用DROPPROCEDURE語句
刪除存儲過程 151
8.7查看存儲過程 152
8.7.1查看存儲過程的原始碼 152
8.7.2查看存儲過程中的對象 152
8.8存儲過程的擴展套用 153
8.8.1擴展存儲過程的使用 153
8.8.2錯誤信息處理 155
8.9小結 155
第9章觸發器 156
9.1觸發器概述 156
9.1.1了解觸發器 156
9.1.2觸發器的分類 157
9.1.3觸發器的作用 157
9.2創建觸發器 157
9.2.1在SQLServerManagementStudio
中創建觸發器 157
9.2.2創建INSERT類型的觸發器 159
9.2.3創建UPDATE類型的觸發器 162
9.2.4創建DELETE類型的觸發器 165
9.2.5創建INSTEADOF類型的觸發器 167
9.2.6創建DDL觸發器 169
9.3修改觸發器 171
9.3.1在SQLServerManagementStudio
中修改觸發器 171
9.3.2使用ALTERTRIGGER語句修改
觸發器 171
9.4刪除觸發器 173
9.4.1在SQLServerManagementStudio
中刪除觸發器 173
9.4.2使用DROPTRIGGER語句刪除
觸發器 174
9.5啟用與禁用觸發器 174
9.5.1禁用觸發器 174
9.5.2啟用觸發器 176
9.6小結 178
第10章游標管理 179
10.1游標概述 179
10.1.1什麼是游標 179
10.1.2游標的類型 179
10.1.3游標的作用 180
10.2游標的基礎操作 180
10.2.1定義游標 180
10.2.2打開游標 181
10.2.3讀取游標 182
10.2.4游標變數的使用 184
10.2.5關閉與釋放游標 185
10.3游標的套用 186
10.3.1使用游標查詢數據 186
10.3.2使用游標修改數據 187
10.3.3使用游標刪除數據 188
10.3.4使用游標統計數據 189
10.3.5使用游標查詢數據記錄條數 191
10.3.6使用函式查看游標的狀態 192
10.3.7使用系統存儲過程查看
游標屬性 194
10.4小結 196
第11章函式套用 197
11.1函式概述 197
11.1.1函式的結構與優點 197
11.1.2函式的類型 197
11.2常用函式 198
11.2.1字元串函式 198
11.2.2日期與時間函式 203
11.2.3數學函式 206
11.2.4類型轉換函式 211
11.3系統函式 212
11.3.1常用系統函式 212
11.3.2系統統計函式 217
11.4特殊函式 218
11.4.1聚合函式 218
11.4.2配置函式 221
11.4.3元數據函式 222
11.5用戶自定義函式 226
11.5.1創建用戶自定義函式 226
11.5.2刪除用戶自定義函式 231
11.6CLR函式 233
11.6.1CLR函式的優點 233
11.6.2創建CLR函式 233
11.7小結 235
第12章索引與約束管理 236
12.1索引與約束概述 236
12.1.1索引的概念 236
12.1.2索引的種類 236
12.1.3填充因子 237
12.1.4約束的概念 237
12.1.5約束的類型 237
12.2創建索引 238
12.2.1CREATEINDEX語句的語法結構 238
12.2.2創建聚集索引 238
12.2.3創建非聚集索引 240
12.2.4創建唯一索引 241
12.3修改索引 242
12.3.1ALTERINDEX語句的語法結構 242
12.3.2設定索引的選項 243
12.3.3禁用索引 244
12.3.4啟用索引 245
12.4刪除索引 245
12.4.1DROPINDEX語句的語法結構 245
12.4.2使用DROPINDEX語句刪除索引 246
12.5常用約束 246
12.5.1主鍵約束 246
12.5.2外鍵約束 247
12.5.3DEFAULT約束 250
12.5.4UNIQUE約束 252
12.5.5CHECK約束 254
12.6管理約束 255
12.6.1禁用約束 255
12.6.2啟用約束 256
12.6.3刪除約束 257
12.7小結 258
第13章事務控制與鎖定 259
13.1事務概述 259
13.1.1事務的概念 259
13.1.2事務的種類 259
13.1.3事務的特點 260
13.2事務的基本操作 260
13.2.1啟動事務 260
13.2.2提交事務 262
13.2.3回滾事務 263
13.2.4設定事務保存點 264
13.3事務的並發控制 265
13.3.1並發操作的問題 265
13.3.2事務的隔離級別 266
13.4鎖定 267
13.4.1鎖的概念和作用 267
13.4.2鎖的模式 267
13.4.3表級鎖的使用 267
13.4.4設定隔離級別實現並發控制 269
13.4.5死鎖及其相關的處理 272
13.5小結 272
第3篇SQLServer2008管理及套用篇
第14章伺服器的管理操作 274
14.1資料庫伺服器管理 274
14.1.1創建伺服器組 274
14.1.2註冊與刪除資料庫伺服器 275
14.1.3斷開與連線資料庫伺服器 277
14.2SQLServer配置管理器中的
相關操作 277
14.2.1啟動與停止SQLServer服務 277
14.2.2更改服務的登錄身份 279
14.2.3配置服務的啟動模式 280
14.2.4網路協定配置 281
14.2.5客戶端協定配置 282
14.2.6設定系統啟動參數 283
14.2.7創建與刪除別名 284
14.3配置SQLServer2008伺服器
屬性 285
14.3.1配置記憶體屬性 285
14.3.2配置處理器屬性 286
14.3.3配置安全屬性 287
14.3.4配置連線屬性 288
14.3.5配置資料庫屬性 289
14.3.6配置許可權屬性 290
14.4小結 291
第15章資料庫的管理操作 292
15.1SQLServer2008資料庫概述 292
15.1.1SQLServer2008系統資料庫 292
15.1.2檔案和檔案組 293
15.1.3資料庫狀態 294
15.2創建資料庫 294
15.2.1CREATEDATABASE語句的
語法結構 294
15.2.2使用CREATEDATABASE語句
創建資料庫 296
15.3維護資料庫 297
15.3.1修改資料庫的名稱 297
15.3.2擴充資料庫的容量 299
15.3.3壓縮資料庫 300
15.3.4數據檔案的維護 301
15.3.5日誌檔案的維護 303
15.3.6移動數據檔案 304
15.4管理資料庫 306
15.4.1分離資料庫 306
15.4.2附加資料庫 307
15.4.3隱藏系統資料庫對象 309
15.4.4資料庫快照管理 310
15.5刪除資料庫 312
15.5.1DROPDATABASE語句的
語法結構 312
15.5.2使用DROPDATABASE語句
刪除資料庫 313
15.6小結 313
第16章報表服務及管理 314
16.1SQLServer2008報表概述 314
16.1.1報表的概念 314
16.1.2報表的生命周期 314
16.1.3報表的關鍵術語 315
16.1.4報表構件及工具 317
16.1.5配置報表伺服器 318
16.2創建報表 320
16.2.1使用報表嚮導創建報表 321
16.2.2使用報表設計器創建報表 324
16.2.3創建帶有參數的報表 327
16.2.4導入報表 329
16.3運行與管理報表 330
16.3.1運行報表 331
16.3.2使用報表管理器維護報表 331
16.4小結 334
第17章XML數據管理 335
17.1XML概述 335
17.1.1XML概念的理解 335
17.1.2XML的特性 335
17.1.3SQLServer2008資料庫對XML
的支持 336
17.2XML數據類型 336
17.2.1理解XML數據類型 336
17.2.2給XML數據類型的變數賦值 336
17.2.3向數據表中插入XML數據 337
17.2.4XML數據類型的提供方法 338
17.3XML數據管理 346
17.3.1使用FORXML語句
管理XML 346
17.3.2使用OPENXML語句
管理XML 351
17.3.3設定行集格式 353
17.4管理XMLSchema 354
17.4.1創建XMLSchema 354
17.4.2修改XMLSchema 356
17.4.3刪除XMLSchema 357
17.5XML索引管理 358
17.5.1XML索引的類型 358
17.5.2新建XML索引 358
17.5.3修改XML索引 361
17.5.4刪除XML索引 361
17.6小結 362
第18章自動化任務與複製任務管理 363
18.1SQLServer代理 363
18.1.1SQLServer代理介紹 363
18.1.2設定SQLServer代理 363
18.1.3啟動和停止SQLServer代理 365
18.1.4SQLServer代理的安全性 367
18.2作業 368
18.2.1創建作業 369
18.2.2創建作業步驟 371
18.2.3創建作業計畫 373
18.2.4啟用與禁用作業 374
18.2.5查看作業日誌 375
18.2.6修改與刪除作業 376
18.3警報與操作員 377
18.3.1創建警報 377
18.3.2創建操作員 378
18.3.3為操作員分配警報 379
18.3.4刪除警報 380
18.4維護計畫 381
18.4.1通過嚮導創建維護計畫 381
18.4.2手動創建維護計畫 384
18.5SQLServer2008中的複製任務 386
18.5.1複製概述 386
18.5.2複製類型 386
18.5.3創建發布 387
18.5.4創建訂閱 389
18.6小結 392
第19章資料庫安全管理 393
19.1伺服器安全管理 393
19.1.1SQLServer的驗證模式 393
19.1.2登錄名管理 394
19.1.3憑據管理 397
19.2資料庫安全管理 399
19.2.1管理用戶 399
19.2.2資料庫角色管理 402
19.3密鑰與證書管理 404
19.3.1密鑰管理 404
19.3.2證書管理 405
19.4數據備份管理 407
19.4.1數據備份介紹 407
19.4.2數據備份的類型 408
19.4.3使用T-SQL語句備份資料庫 408
19.5數據還原管理 413
19.5.1數據還原的過程 413
19.5.2使用T-SQL還原資料庫 413
19.6小結 415
第20章SQLServer2008中的
實用工具 416
20.1資料庫引擎最佳化顧問 416
20.1.1啟動資料庫引擎最佳化顧問 416
20.1.2使用資料庫引擎最佳化顧問 417
20.2SQLServer命令提示工具 419
20.2.1sqlcmd工具 419
20.2.2使用sqlserver維護SQLServer 425
20.2.3使用sqldiag工具收集診斷信息 425
20.2.4sqlwb實用工具 426
20.3SQLServer2008在線上叢書的使用 427
20.3.1SQLServer2008在線上叢書介紹 427
20.3.2SQLServer2008在線上叢書的使用 428
20.4小結 428
第4篇資料庫開發套用篇
第21章VB6.0在SQLServer2008
中的套用 430
21.1VB6.0開發環境介紹 430
21.1.1VB6.0開發環境 430
21.1.2設定編程環境 435
21.2VB6.0開發超市管理系統 437
21.2.1系統目標 437
21.2.2設計資料庫 438
21.2.3設計連線資料庫的模組 441
21.2.4系統登錄模組的設計 442
21.2.5系統主界面的實現 444
21.2.6出入庫管理模組的設計 445
21.2.7商品銷售模組的設計 448
21.2.8銷售統計模組的設計 451
21.2.9編譯及生成可執行程式 453
21.3小結 454
第22章C#在SQLServer2008
中的套用 455
22.1C#語言介紹 455
22.1.1C#的由來 455
22.1.2C#的特點 455
22.2.NET開發平台介紹 456
22.2.1.NET概述 457
22.2.2MicrosoftVisualStudio.NET2005
集成開發環境介紹 457
22.3C#開發商品銷售管理系統 458
22.3.1系統目標 458
22.3.2設計資料庫 459
22.3.3登錄模組的設計 463
22.3.4系統主窗體的設計 466
22.3.5銷售管理模組的設計 469
22.3.6分店調貨模組的設計 474
22.3.7商品銷售信息查詢模組的
設計 478
22.4小結 481
附錄A 482
A.1SQL保留字 482
A.2常用的SQL命令 484