注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫SQL SeverMicrosoft SQL Server 2005 T-SQL & .NET高級編程(第3版)

Microsoft SQL Server 2005 T-SQL & .NET高級編程(第3版)

Microsoft SQL Server 2005 T-SQL & .NET高級編程(第3版)

定 價:¥78.00

作 者: (美)Dejan Dejan Šunderić
出版社: 清華大學出版社
叢編項:
標 簽: Server

購買這本書可以去


ISBN: 9787302173403 出版時間: 2008-05-01 包裝: 平裝
開本: 16 頁數: 574 字數:  

內容簡介

  為了開發(fā)出復雜的存儲過程以檢索、操作、更新和刪除數據,本書介紹并描述了您所需掌握的關鍵概念、技術和最佳實踐,以使您通過SQL Server自帶的Transact—SQL和.NET CLR語言充分利用存儲過程。在本書中,您將學到如何將有效的Transact.-SQL存儲過程結合到客戶端與中間件代碼中,以及如何生成將被編譯到CLR存儲過程中的CLR方法。本書內容豐富、指導性強,是所有SQL Server 2005開發(fā)人員的必備參考。本書主要內容●使用批處理、腳本與事務來組合和執(zhí)行T-SQL語句●創(chuàng)建用戶自定義的、系統(tǒng)的、擴展的、臨時的、全局臨時的和遠程的存儲過程●使用ADO.NET實現數據庫訪問●用C#和Visual Basic.NET開發(fā)與管理存儲過程●創(chuàng)建CLR用戶自定義函數與觸發(fā)器●實現可靠的調試、錯誤處理技術和安全度量●在類似于Visual SourceSafe的儲存庫中管理源代碼●為Web搜索引擎創(chuàng)建存儲過程●使用系統(tǒng)和擴展存儲過程與SQL Server環(huán)境進行交互

作者簡介

  Dejan Sunderic,微軟認證的解決方案專家(MCSD)和數據庫管理員(MCDBA),是Trigon Blue,Inc.的首席顧問,也是Toronto SQL Server User Group的總裁。他專門研究SQL Server和Windows平臺上的數據庫管理、部署及應用程序開發(fā)。Dejan曾經參與的項目涉及B2C和B2B電子商務、金融、文檔管理、抵押、資產管理、保險、房地產、IT供應鏈、過程控制、通信、數據倉庫和OLAP系統(tǒng)等多個領域。擔任過數據庫架構師、數據庫和應用程序開發(fā)人員、數據庫管理員、開發(fā)組組長及項目經理。

圖書目錄

第1章  SQL Server 2005環(huán)境
與工具    1
1.1  SQL Server 2005工具    2
1.1.1  SQL Server Configuration
Manager    3
1.1.2  SQL Server Management
Studio    6
1.1.3  SQLCMD實用程序    10
1.1.4  SQL Server Profiler    11
1.1.5  幫助文檔和SQL Server
Books Online    11
1.2  Management Studio中的
基本操作    12
1.2.1  存儲結構的定義    12
1.2.2  Management Studio中存儲
過程的執(zhí)行    12
1.2.3  編輯存儲過程    15
1.2.4  創(chuàng)建存儲過程    15
1.2.5  在Query窗口中編輯存儲
過程    17
1.2.6  語法錯誤    19
1.2.7  查看和編輯表    21
1.2.8  修改表結構    23
第2章  存儲過程設計的一些概念    25
2.1  存儲過程的剖析    26
2.1.1  組成部分    26
2.1.2  功能    29
2.1.3  語法    35
2.2  存儲過程的類型    37
2.3  管理存儲過程    38
2.3.1  列出存儲過程    38
2.3.2  查看存儲過程的代碼    39
2.3.3  重命名存儲過程    40
2.3.4  刪除存儲過程    41
2.3.5  列出被依賴和依賴對象    41
2.4  存儲過程在數據庫應用程序
開發(fā)中的作用    43
2.4.1  增強數據完整性    43
2.4.2  復雜業(yè)務規(guī)則和約束的
一致實現    44
2.4.3  模塊化設計    44
2.4.4  可維護性    44
2.4.5  降低的網絡通信量    44
2.4.6  較快的執(zhí)行    45
2.4.7  安全性的增強    45
第3章  基本Transact-SQL編程
結構    47
3.1  T-SQL標識符    48
3.2  數據庫對象限定符    49
3.3  數據類型    51
3.3.1  字符串型    52
3.3.2  Unicode字符串型    53
3.3.3  日期和時間型    54
3.3.4  整型    55
3.3.5  近似數值型    56
3.3.6  精確數值型    56
3.3.7  貨幣型    57
3.3.8  二進制型    57
3.3.9  特殊類型    58
3.3.10  Transact-SQL用戶自定義
數據類型    61
3.4  變量    62
3.4.1  局部變量    62
3.4.2  全局變量    66
3.4.3  表變量    68
3.5  流程控制語句    69
3.5.1  注釋    70
3.5.2  語句塊:Begin…End    72
3.5.3  條件執(zhí)行:If語句    73
3.5.4  循環(huán):While語句    77
3.5.5  無條件執(zhí)行:GoTo語句    79
3.5.6  調度執(zhí)行:WaitFor語句    80
3.6  游標    81
3.6.1  Transact-SQL游標    82
3.6.2  與游標相關的語句和函數    85
3.6.3  使用游標的問題    86
3.6.4  游標的正確用法    87
第4章  函數    89
4.1  函數的用法    90
4.1.1  用函數來選擇和賦值    90
4.1.2  作為選擇條件的一部分    91
4.1.3  在表達式中使用函數    91
4.1.4  作為Check和Default約束    91
4.1.5  取代表    92
4.2  函數的類型    93
4.2.1  標量函數    93
4.2.2  行集函數    120
第5章  復合Transact-SQL結構:
批處理、腳本和事務    127
5.1  批處理    128
5.1.1  使用批處理    130
5.1.2  批處理與錯誤    130
5.1.3  DDL批處理    133
5.1.4  自給自足的內容    133
5.2  腳本    134
5.3  事務    137
5.3.1  自動提交事務    137
5.3.2  顯式事務    138
5.5.3  隱式事務    140
5.3.4  事務處理體系結構    140
5.3.5  嵌套事務    141
5.3.6  命名事務    145
5.3.7  保存點    146
5.3.8  加鎖    148
5.3.9  分布式事務    152
5.3.10  與事務相關的典型問題    154
第6章  錯誤處理    157
6.1  Raiserror語句    158
6.2  使用錯誤處理    160
6.3  添加錯誤處理代碼的原因    160
6.4  基于@@Error的錯誤處理    161
6.5  Try-Catch語句    163
6.5.1  捕獲的錯誤類型    164
6.5.2  Catch塊的函數    166
6.5.3  帶顯式事務的Try-Catch
語句    167
6.5.4  死鎖重試    170
6.5.5  Try-Catch語句嵌套    174
6.5.6  錯誤處理體系結構:
使用Try-Catch語句    174
6.6  Xact_Abort選項的設置    175
6.6.1  錯誤處理體系結構:基于
Set Xact_Abort On設置    176
6.6.2  錯誤處理體系結構:設置
Xact_Abort且事物嵌套
為零    180
第7章  特殊存儲過程類型    187
7.1  用戶自定義存儲過程    188
7.2  系統(tǒng)存儲過程    188
7.3  CLR存儲過程    189
7.4  擴展存儲過程    190
7.4.1  擴展存儲過程的設計    190
7.4.2  注冊擴展存儲過程    194
7.5  臨時存儲過程    196
7.6  全局臨時存儲過程    197
7.7  遠程存儲過程    197
第8章  視圖    199
8.1  標準SQL視圖的設計    200
8.1.1  語法    201
8.1.2  Enterprise Manager中的
視圖設計    202
8.1.3  安全性    202
8.1.4  執(zhí)行計劃中的標準SQL
視圖    203
8.1.5  視圖的限制    203
8.1.6  用視圖編輯數據    204
8.2  動態(tài)視圖    205
8.3  臨時視圖—— 通用表表達式    205
8.3.1  非遞歸CTE的限制    206
8.3.2  遞歸CTE    206
8.4  INFORMATION_SCHEMA
視圖    208
8.5  索引視圖    209
8.5.1  索引視圖限制    209
8.5.2  執(zhí)行計劃中的索引視圖    210
8.5.3  視圖上的非群集索引    210
8.5.4  性能影響    211
8.6  分區(qū)視圖    211
8.6.1  水平和垂直分區(qū)    211
8.6.2  分布式分區(qū)視圖    213
8.6.3  分布式分區(qū)視圖的
執(zhí)行計劃    218
8.6.4  可更新的分布式分區(qū)視圖    221
8.6.5  分布式系統(tǒng)的穩(wěn)定性
和性能    222
8.6.6  簡單的聯(lián)合服務器    223
8.7  使用SQL視圖    223
8.7.1  導出和導入    223
8.7.2  安全性實現    223
8.7.3  降低復雜性    224
8.7.4  性能提升    226
第9章  觸發(fā)性    227
9.1  DML觸發(fā)器    228
9.1.1  After觸發(fā)器的物理設計    228
9.1.2  插入和刪除虛擬表    229
9.1.3  觸發(fā)器激活條件    231
9.1.4  After觸發(fā)器的完整語法    232
9.1.5  處理多條記錄上的修改    235
9.1.6  嵌套觸發(fā)和遞歸觸發(fā)    236
9.1.7  After觸發(fā)器限制    236
9.1.8  Instead-of觸發(fā)器    238
9.1.9  視圖上的觸發(fā)器    239
9.1.10  DML觸發(fā)器的執(zhí)行次序    241
9.2  DDL觸發(fā)器    242
9.2.1  DDL觸發(fā)器的作用域和
事件    243
9.2.2  EventData()函數    244
9.2.3  DDL觸發(fā)器的語法    245
9.3  管理觸發(fā)器    246
9.3.1  在Management Studio中
管理DML觸發(fā)器    246
9.3.2  在Management Studio中
管理DDL觸發(fā)器    247
9.3.3  用Transact-SQL語句管理
觸發(fā)器    247
9.4  觸發(fā)器的設計建議    250
9.4.1  盡可能快地退出觸發(fā)器    250
9.4.2  簡化觸發(fā)器的代碼    251
9.4.3  按功能實現觸發(fā)器    252
9.4.4  不要在觸發(fā)器內使用
Select和Print    252
9.4.5  根本不要使用觸發(fā)器    252
9.5  觸發(fā)器中的事務管理    252
9.6  使用觸發(fā)器    253
9.6.1  級聯(lián)刪除    254
9.6.2  聚集    257
9.6.3  增強不同服務器或數據庫上
的對象的模式完整性    259
第10章  用戶自定義函數    263
10.1  標量用戶自定義函數的設計    264
10.1.1  副作用    265
10.1.2  內置函數的使用    266
10.1.3  加密    266
10.1.4  模式綁定    266
10.2  表-值用戶自定義函數    267
10.3  在Management Studio中管理
用戶自定義函數    271
第11章  SQL Server 2005中的
.NET編程基礎    273
11.1  非托管和托管代碼    274
11.2  公共語言運行庫    274
11.3  SQL Server 2005中的CLR
集成    275
11.3.1  優(yōu)缺點    276
11.3.2  支持和不支持的功能    276
11.3.3  所需最小空間    277
11.4  Visual Studio 2005中CLR
數據庫對象的 開發(fā)、部署
和使用    278
11.5  不使用Visual Studio 2005
時CLR數據庫對象
的開發(fā)和部署    281
11.5.1  開發(fā)代碼    282
11.5.2  編譯程序    282
11.5.3  向SQL Server數據庫中
加載程序集    284
11.5.4  創(chuàng)建SQLCLR數據庫
對象    285
11.6  為程序集和CLR數據庫
對象編目錄    286
11.6.1  為程序集編目錄    286
11.6.2  為過程編目錄    287
11.6.3  .NET Framework的版本    289
第12章  CLR存儲過程開發(fā)基礎    291
12.1  CLR存儲過程的結構    294
12.2  從CLR過程中訪問數據    295
12.3  使用存儲過程的基本操作    296
12.3.1  返回值    296
12.3.2  連接上下文    297
12.3.3  返回結果    298
12.3.4  返回自定義記錄    300
12.3.5  CLR存儲過程中的
參數    302
12.4  帶正規(guī)ADO.NET對象
的操作    302
12.4.1  SqlCommand    302
12.4.2  SqlDataReader    304
12.5  管理LOB參數    305
第13章  CLR函數與觸發(fā)器    311
13.1  CLR函數    312
13.1.1  標量-值CLR函數    312
13.1.2  SqlFunction屬性    314
13.1.3  表-值CLR函數    316
13.2  CLR觸發(fā)器    327
13.2.1  支持的特性    327
13.2.2  DML觸發(fā)器的創(chuàng)建    327
13.2.3  DDL觸發(fā)器的創(chuàng)建    332
第14章  CLR數據庫對象高級主題    337
14.1  CLR用戶自定義類型(UDT)    338
14.1.1  托管UDT的結構    339
14.1.2  不使用Visual Studio 2005
部署CLR UDT    346
14.1.3  使用CLR用戶自定義
類型    346
14.1.4  跨數據庫的用戶自定義
類型    353
14.2  是否使用UDT    354
14.3  用戶自定義聚合CLR函數    355
14.4  CLR代碼中的事務    365
14.4.1  使用TransactionScope
類    365
14.4.2  事務選項    367
14.4.3  分布式事務    368
14.4.4  顯式事務    370
14.4.5  新事務泛型的優(yōu)點    372
14.5  是否設計CLR(設計與性能
考慮)    372
14.6  警告    373
第15章  高級存儲過程編程    375
15.1  動態(tài)構造的查詢    376
15.1.1  執(zhí)行字符串    376
15.1.2  通過表單查詢    377
15.1.3  數據腳本生成器    379
15.1.4  使用sp_executesql存儲
過程    384
15.1.5  安全隱患    385
15.2  使用timestamp值的
樂觀鎖    388
15.2.1  timestamp數據類型    389
15.2.2  TSEqual()函數    391
15.3  全文本搜索和索引    392
15.4  嵌套存儲過程    393
15.4.1  用臨時表向嵌套存儲
過程傳遞記錄集    393
15.4.2  用游標向嵌套存儲過程
傳遞記錄集    396
15.4.3  如何處理存儲過程的
結果集    397
15.5  使用標識值    403
15.5.1  標準問題和答案    403
15.5.2  標識值與觸發(fā)器    404
15.6  GUID    405
15.7  帶Min()或Max()函數
的循環(huán)    407
15.8  帶sp_MSForEachTable和
sp_MSForEachDb 的循環(huán)    408
15.9  特性管理    410
第16章  調試    413
16.1  什么是bug    414
16.2  調試過程    414
16.2.1  標識階段    414
16.2.2  解決階段    416
16.3  調試工具與技術    417
16.4  調試CLR數據庫對象    421
16.5  簡單的調試器    424
16.5.1  生產環(huán)境中的執(zhí)行    427
16.5.2  嵌套存儲過程    428
16.5.3  輸出子句    428
16.6  SQL Profiler    429
16.7  典型錯誤    433
16.7.1  處理空值    433
16.7.2  從結果集中為變量賦值    434
16.7.3  沒有記錄受影響    434
16.7.4  錯誤的大小或數據類型    434
16.7.5  默認長度    435
16.7.6  觸發(fā)器的回退    435
16.7.7  警告和較低優(yōu)先級
的錯誤    435
16.7.8  返回代碼與Raiserror
語句的使用    436
16.7.9  嵌套注釋    436
16.7.10  延遲名稱解析    436
16.7.11  游標    437
16.7.12  過分自信    437
第17章  源代碼管理    439
17.1  Microsoft Visual SourceSafe
介紹    440
17.2  管理Visual SourceSafe
數據庫    441
17.3  在Visual Studio .NET中
向Visual SourceSafe 添加
數據庫對象    442
17.4  在Visual Studio .NET中
管理Create腳本    444
17.5  Visual SourceSafe Explorer    445
17.5.1  歷史    446
17.5.2  標簽與版本    448
17.6  向Visual SourceSafe添加
數據庫對象:傳統(tǒng)方法    449
17.6.1  用Script Wizard創(chuàng)建
腳本    449
17.6.2  用TbDbScript創(chuàng)建
腳本    451
17.6.3  用TbDir2Vss.vbs向
Visual SourceSafe中
添加腳本    453
第18章  數據庫部署    455
18.1  整個數據庫的部署:傳統(tǒng)
方法    456
18.1.1  在Transact-SQL中附著
與分離數據庫    457
18.1.2  在Management Studio中
附著和分離    458
18.1.3  備份與恢復    459
18.1.4  潛在的問題    459
18.2  單個對象的部署    460
18.2.1  部署腳本:傳統(tǒng)方法    460
18.2.2  腳本化數據:傳統(tǒng)方法    460
18.2.3  在Visual Studio .NET中
腳本化數據    461
18.2.4  部署腳本:傳統(tǒng)方法    462
18.2.5  在Visual Studio .NET中
部署Create腳本    469
18.2.6  遞增的構件:傳統(tǒng)方法    471
18.2.7  Visual Studio .NET中的
遞增的構件    472
第19章  安全    473
19.1  安全體系結構    474
19.1.1  身份驗證與授權    474
19.1.2  主體    474
19.1.3  可保護對象    475
19.1.4  訪問級別    475
19.1.5  角色    480
19.1.6  所有權鏈    482
19.1.7  交叉數據庫擁有者鏈    482
19.1.8  執(zhí)行環(huán)境上下文的
切換    483
19.2  實現安全性    483
19.2.1  身份驗證模式的選擇    483
19.2.2  管理登錄名    484
19.2.3  授予數據庫訪問權限    486
19.2.4  賦予權限    488
19.3  登錄名與用戶名的同步    490
19.4  用存儲過程、用戶自定義
函數和視圖管理應用
程序安全    493
19.5  用代理用戶管理應用程序
安全    496
19.6  用應用程序角色管理應用
程序安全    496
第20章  Web搜索引擎的
存儲過程    499
20.1  環(huán)境特征    500
20.2  一個簡單的解決方案    500
20.3  缺點    501
20.4  可用的解決方案    502
20.4.1  結果分割    503
20.4.2  快速查詢    511
20.4.3  高級查詢    515
20.4.4  新的解決方案:行版本    518
第21章  SQL Server環(huán)境的
交互作用    525
21.1  運行程序    526
21.2  運行Windows腳本文件    527
21.3  OLE Automation/COM對象
的執(zhí)行    527
21.4  數據類型轉換    530
21.5  運行SQL Server 2005 Intergration
Services(SSIS)包    531
21.6  運行DTS 包    531
21.7  在DTS包中實現循環(huán)    532
21.8  與NT注冊表交互作用    533
21.8.1  xp_regread    534
21.8.2  xp_regwrite    534
21.9  作業(yè)    535
21.9.1  作業(yè)管理    535
21.9.2  Job Scheduler的
替換方法    539
21.9.3  維護作業(yè)的存儲過程    540
21.9.4  操作員和警報    543
21.10  電子郵件    543
21.10.1  Database Mail    544
21.10.2  配置Database Mail    544
21.10.3  發(fā)送電子郵件    546
21.10.4  檢查狀態(tài)    547
21.11  將存儲過程作為Web服務
提供    547
附錄A  命名約定    549
附錄B  存儲過程編譯、存儲和
重用    559
附錄C  SQL Server 2005中
的數據類型    571

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號