SQL Server 2008編程入門經典第3版

SQL Server 2008編程入門經典第3版

《SQL Server 2008編程入門經典第3版》是2012年清華大學出版社出版的圖書,作者是孫皓。

基本介紹

  • 書名:SQL Server 2008編程入門經典(第3版) 
  • 作者:孫皓
  • ISBN:9787302214328
  • 定價:69.8元
  • 出版社:清華大學出版社
  • 出版時間:2012年
  • 裝幀:平裝
內容簡介,目錄,

內容簡介

本書由淺入深逐步介紹了SQLServer資料庫的高級主題,重點討論了SQLServer2008的特殊功能以及與其他編程環境的不同之處。作者RobertVieria是MicrosoftSQLServer方面的權威,他採用通俗易懂的方法揭示了SQLServer2008核心組件的重要更改。
本書首先概述了資料庫設計的概念,介紹了如何用SQLServer2008實現這些基本概念。然後,講述了RDBMS(關係資料庫管理系統)的功能和它在開發系統架構方面的優勢。SQLServer2008的新增內容和更改包括:DATE和TIME數據類型、hierarchyID數據類型、MERGE命令和多行插入,以及遞歸查詢等。本書旨在幫助您快速地掌握MicrosoftSQLServer2008的編程技術。

目錄

第1章RDBMS基礎:
SQLServer資料庫的構成 1
1.1資料庫對象概述 1
1.1.1資料庫對象 2
1.1.2事務日誌 6
1.1.3最基本的資料庫對象:表 6
1.1.4檔案組 8
1.1.5資料庫關係圖 8
1.1.6視圖 9
1.1.7存儲過程 10
1.1.8用戶自定義函式 10
1.1.9用戶和角色 10
1.1.10規則 10
1.1.11默認值 11
1.1.12用戶自定義數據類型 11
1.1.13全文目錄 11
1.2SQLServer數據類型 11
1.3SQLServer對象標識符 16
1.3.1需要命名的對象 16
1.3.2命名規則 17
1.4本章小結 17
第2章SQLServer管理工具 18
2.1在線上叢書 18
2.2SQLServer配置管理器 19
2.2.1服務管理 20
2.2.2網路配置 20
2.2.3協定 21
2.2.4客戶端 23
2.3SQLServerManagement
Studio 25
2.3.1啟動ManagementStudio 25
2.3.2“查詢”視窗 28
2.4SQLServer集成服務(SSIS) 32
2.5BulkCopyProgram(bcp) 33
2.6SQLServerProfiler 33
2.7sqlcmd 34
2.8PowerShell 34
2.9本章小結 34
第3章T-SQL基本語句 35
3.1基本SELECT語句 36
3.1.1SELECT語句
與FROM子句 36
3.1.2WHERE子句 39
3.1.3ORDERBY子句 42
3.1.4使用GROUPBY
子句聚合數據 44
3.1.5使用HAVING子句
給分組設定條件 52
3.1.6使用FORXML
子句輸出XML 53
3.1.7通過OPTION子句
利用提示 54
3.1.8DISTINCT和ALL謂詞 54
3.2使用INSERT語句添加數據 56
3.2.1多行插入 60
3.2.2INSERTINTO…SELECT語句 61
3.3用UPDATE語句更改數據 63
3.4DELETE語句 65
3.5本章小結 66
3.6練習 66
第4章連線 67
4.1連線 67
4.2內部連線 69
4.3外部連線 75
4.3.1簡單的外部連線 76
4.3.2處理更複雜的外部連線 81
4.4完全連線 85
4.5交叉連線 86
4.6JOIN語句的早期語法結構 87
4.6.1內部連線的早期語法結構 88
4.6.2外部連線的早期語法結構 88
4.6.3交叉連線的早期語法結構 89
4.7聯合 90
4.8本章小結 94
4.9練習 94
第5章創建和修改數據表 95
5.1SQLServer中的對象名 95
5.1.1模式名 95
5.1.2資料庫名 98
5.1.3通過伺服器命名 98
5.1.4回顧默認值 98
5.5使用GUI工具 123
5.5.1使用ManagementStudio
創建資料庫 123
5.5.2回到代碼:使用Management
Studio創建腳本的基礎知識 127
5.6本章小結 128
5.7練習 128
第6章約束 129
6.1約束的類型 130
6.1.1域約束 130
6.1.2實體約束 130
6.1.3參照完整性約束 131
6.2約束命名 131
6.3鍵約束 132
6.3.1主鍵約束 132
6.3.2外鍵約束 134
6.3.3唯一約束 144
6.5.2在已存在的表中添加
DEFAULT約束 148
6.6禁用約束 148
6.6.1在創建約束時忽略
無效的數據 148
6.6.2臨時禁用已存在的約束 150
6.7規則和默認值 152
6.7.1規則 152
6.7.2默認值 154
6.7.3確定哪個表和數據類型使用
給定的規則或默認值 154
6.8用於實現數據完整性的
觸發器 155
6.9如何選擇 155
6.10本章小結 156
第7章更複雜的查詢 157
7.1子查詢的概念 158
7.2關聯子查詢 161
7.2.1關聯子查詢的工作原理 162
7.2.2在WHERE子句中的
關聯子查詢 162
7.2.3處理NULL數據——
ISNULL函式 165
7.3派生表 166
7.4EXISTS運算符 168
7.5混合數據類型:
7.7性能方面的考慮 180
7.8本章小結 181
7.9練習 181
第8章規範化和其他基本設計問題 182
8.1表 182
8.2保持數據“規範” 193
8.2.1準備工作 184
8.2.2第一範式 185
8.2.3第二範式 188
8.2.4第三範式 189
8.2.5其他範式 191
8.3關係 192
8.3.1一對一關係 192
8.3.2一對一或一對多關係 193
8.3.3多對多關係 195
8.4資料庫關係圖 198
8.4.1表 200
8.4.2添加和刪除表 200
8.4.3關係 205
8.5反規範化 207
8.6超出規範化的一些規則 208
8.6.1保持簡單 208
8.6.2選擇數據類型 208
8.6.3儘量進行存儲 209
8.7創建一個快速示例 209
8.7.1創建資料庫 209
8.7.2添加資料庫關係圖
和初始表 210
8.7.3添加關係 213
8.7.4添加一些約束 215
8.8本章小結 216
8.9練習 216
第9章SQLServer存儲
和索引結構 217
9.1SQLServer存儲機制 217
9.1.1資料庫 217
9.1.2區段 218
9.1.3頁 218
9.1.4行 219
9.1.5稀疏列 219
9.2理解索引 219
9.2.1平衡樹(B-樹) 220
9.2.2SQLServer中訪問
數據的方式 223
9.3創建、修改和刪除索引 230
9.3.1CREATEINDEX語句 230
9.3.2創建XML索引 234
9.3.3隨約束創建的隱含索引 235
9.3.4在稀疏列和地理空間
列上創建索引 236
9.4明智地選擇——在何時何地
使用何種索引 236
9.4.1選擇性 236
9.4.2注意成本 236
9.4.3選擇群集索引 237
9.4.4列順序問題 239
9.4.5修改索引 239
9.4.6刪除索引 241
9.4.7從查詢計畫中獲取提示 242
9.4.8使用資料庫引擎調整嚮導 242
9.5維護索引 242
9.5.1碎片 242
9.5.2確定碎片和頁拆分的可能性 243
9.6本章小結 246
9.7練習 247
第10章視圖 248
10.1簡單的視圖 248
10.2更加複雜的視圖 253
10.3使用T-SQL編輯視圖 259
10.4刪除視圖 260
10.5在ManagementStudio中
創建和編輯視圖 260
10.6審查:顯示現有的代碼 263
10.7保護代碼:加密視圖 264
10.8關於模式綁定 265
10.9使用VIEW_METADATA
使視圖看起來像表一樣 266
10.10索引(物化)視圖 266
10.11本章小結 268
10.12練習 269
第11章編寫腳本和批處理 270
11.1腳本的基礎知識 270
11.1.1USE語句 271
11.1.2聲明變數 271
11.1.3使用@@IDENTITY 275
11.1.4使用@@ROWCOUNT 278
11.2批處理 279
11.2.1批處理中的錯誤 281
11.2.2何時使用批處理 281
11.3sqlcmd 284
11.4動態SQL:用EXEC命令
動態生成代碼 288
11.5控制流語句 293
11.5.1IF…ELSE語句 293
11.5.2CASE語句 297
11.5.3用WHILE語句進行循環 302
11.5.4WAITOR語句 303
11.5.5TRY/CATCH塊 303
11.6本章小結 306
11.7練習 306
第12章存儲過程 307
12.1創建存儲過程:基本語法 307
12.2使用ALTER修改存儲過程 309
12.3刪除存儲過程 309
12.4參數化 310
12.5通過返回值確認成功
或失敗 315
12.6錯誤處理 317
12.6.1以前的方式 318
12.6.2在錯誤發生前處理錯誤 323
12.6.3手動引發錯誤 328
12.6.4添加自定義的錯誤訊息 331
12.7存儲過程的優點 333
12.7.1創建可調用的進程 333
12.7.2為了安全性使用存儲過程 333
12.7.3存儲過程和性能 334
12.8擴展存儲過程(XP) 336
12.9遞歸簡介 336
12.10調試 338
12.10.1啟動調試器 339
12.10.2調試器的組成 339
12.10.3使用調試器 342
12.11.NET程式集 343
12.12本章小結 344
第13章用戶自定義函式 345
13.1UDF的定義 345
13.2返回標量值的UDF 346
13.3返回表的UDF 350
13.4調試用戶自定義函式 358
13.5資料庫中的.NET 358
13.6本章小結 358
13.7練習 358
第14章事務和鎖 359
14.1事務 359
14.1.1BEGINTRAN 360
14.1.2COMMITTRAN 360
14.1.3ROLLBACKTRAN 361
14.1.4SAVETRAN 361
14.2SQLServer日誌的工作方式 361
14.2.1失敗和恢復 362
14.2.2隱式事務 364
14.3鎖和並發 364
14.3.1通過鎖可以防止的問題 365
14.3.2可以鎖定的資源 368
14.3.3鎖升級和鎖對性能
的影響 368
14.3.4鎖定模式 369
14.3.5鎖的兼容性 370
14.3.6指定一種特有的鎖定
類型——最佳化器提示 371
14.4設定隔離級別 372
14.5處理死鎖(1205錯誤) 375
14.5.1SQLServer判斷
死鎖的方式 375
14.5.2選擇死鎖犧牲者
的方式 375
14.5.3避免死鎖 375
14.6本章小結 377
第15章觸發器 379
15.1觸發器的概念 380
15.1.1ON子句 381
15.1.2WITHENCRYPTION
選項 381
15.1.3FOR|AFTER子句與
INSTEADOF子句 381
15.1.4WITHAPPEND選項 384
15.1.5NOTFORREPLICATION
選項 384
15.1.6AS子句 384
15.2使用觸發器實施數據
完整性規則 384
15.2.1處理來自於其他
表的需求 385
15.2.2使用觸發器來檢查更新
的變化 386
15.2.3將觸發器用於自定義
錯誤訊息 388
15.3觸發器的其他常見用途 388
15.4觸發器的其他問題 388
15.4.1觸發器可以嵌套 389
15.4.2觸發器可以遞歸 389
15.4.3觸發器不能防止體系
結構的修改 389
15.4.4可以在不刪除的情況下
關閉觸發器 390
15.4.5觸發器的激活順序 390
15.5INSTEADOF觸發器 392
15.6性能考慮 392
15.6.1觸發器的被動性 392
15.6.2觸發器與激活的進程
之間不存在並發問題 392
15.6.3使用IFUPDATE()和
COLUMNS_UPDATED() 393
15.6.4保持觸發器短小精悍 395
15.6.5選擇索引時不要
忘記觸發器 395
15.6.6不要在觸發器中
進行回滾 395
15.7刪除觸發器 395
15.8調試觸發器 396
15.9本章小結 397
第16章初識XML 398
16.1XML基礎 399
16.1.1XML文檔的各個組成部分 400
16.1.2名稱空間 407
16.1.3元素內容 408
16.1.4有效與格式良好——
架構和DTD 409
16.2SQLServer提供的XML支持 410
16.2.1將列定義為XML類型 410
16.2.2XML架構集合 411
16.2.3創建、修改和刪除XML
架構集合 413
16.2.4XML數據類型方法 415
16.2.5強制執行架構集合
之外的約束 421
16.2.6用XML格式檢索關係數據 421
16.2.7RAW選項 422
16.2.8AUTO選項 424
16.2.9EXPLICIT選項 426
16.2.10PATH選項 427
16.2.11OPENXML函式 432
16.3XSLT簡介 436
16.4本章小結 438
第17章ReportingServices概述 439
17.1ReportingServices101 439
17.2創建簡單的報表模型 440
17.2.1數據源視圖 443
17.2.2建立數據模型 447
17.2.3創建報表 450
17.3報表伺服器項目 454
17.4本章小結 459
第18章使用IntegrationServices
進行集成 460
18.1理解問題 460
18.2使用導入/導出嚮導生成
基本的程式包 461
18.3程式包基礎知識 466
18.3.1“連線管理器”面板 467
18.3.2程式包編輯器面板 468
18.4執行程式包 472
18.4.1在DevelopmentStudio中
運行程式包 472
18.4.2使用執行包實用工具 472
18.4.3使用SQLServerAgent
執行程式包 475
18.4.4從程式中執行程式包 475
18.5關於程式包的補充說明 475
18.6本章小結 475
第19章扮演管理員的角色 476
19.1調度作業 477
19.1.1創建操作員 477
19.1.2創建作業和任務 479
19.2備份和恢復 487
19.2.1創建備份——轉儲 488
19.2.2恢復模式 491
19.2.3還原 491
19.3索引維護 493
19.4數據歸檔 495
19.5基於策略的管理 496
19.6本章小結 496
19.7練習 497
附錄A系統函式 498
附錄B非常簡單的連線示例 550
附錄C學習資源 558

相關詞條

熱門詞條

聯絡我們