注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)數(shù)據(jù)庫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ć
出版社: 清華大學(xué)出版社
叢編項:
標 簽: Server

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第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  存儲結(jié)構(gòu)的定義    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  修改表結(jié)構(gòu)    23
第2章  存儲過程設(shè)計的一些概念    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  存儲過程在數(shù)據(jù)庫應(yīng)用程序
開發(fā)中的作用    43
2.4.1  增強數(shù)據(jù)完整性    43
2.4.2  復(fù)雜業(yè)務(wù)規(guī)則和約束的
一致實現(xiàn)    44
2.4.3  模塊化設(shè)計    44
2.4.4  可維護性    44
2.4.5  降低的網(wǎng)絡(luò)通信量    44
2.4.6  較快的執(zhí)行    45
2.4.7  安全性的增強    45
第3章  基本Transact-SQL編程
結(jié)構(gòu)    47
3.1  T-SQL標識符    48
3.2  數(shù)據(jù)庫對象限定符    49
3.3  數(shù)據(jù)類型    51
3.3.1  字符串型    52
3.3.2  Unicode字符串型    53
3.3.3  日期和時間型    54
3.3.4  整型    55
3.3.5  近似數(shù)值型    56
3.3.6  精確數(shù)值型    56
3.3.7  貨幣型    57
3.3.8  二進制型    57
3.3.9  特殊類型    58
3.3.10  Transact-SQL用戶自定義
數(shù)據(jù)類型    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  調(diào)度執(zhí)行:WaitFor語句    80
3.6  游標    81
3.6.1  Transact-SQL游標    82
3.6.2  與游標相關(guān)的語句和函數(shù)    85
3.6.3  使用游標的問題    86
3.6.4  游標的正確用法    87
第4章  函數(shù)    89
4.1  函數(shù)的用法    90
4.1.1  用函數(shù)來選擇和賦值    90
4.1.2  作為選擇條件的一部分    91
4.1.3  在表達式中使用函數(shù)    91
4.1.4  作為Check和Default約束    91
4.1.5  取代表    92
4.2  函數(shù)的類型    93
4.2.1  標量函數(shù)    93
4.2.2  行集函數(shù)    120
第5章  復(fù)合Transact-SQL結(jié)構(gòu):
批處理、腳本和事務(wù)    127
5.1  批處理    128
5.1.1  使用批處理    130
5.1.2  批處理與錯誤    130
5.1.3  DDL批處理    133
5.1.4  自給自足的內(nèi)容    133
5.2  腳本    134
5.3  事務(wù)    137
5.3.1  自動提交事務(wù)    137
5.3.2  顯式事務(wù)    138
5.5.3  隱式事務(wù)    140
5.3.4  事務(wù)處理體系結(jié)構(gòu)    140
5.3.5  嵌套事務(wù)    141
5.3.6  命名事務(wù)    145
5.3.7  保存點    146
5.3.8  加鎖    148
5.3.9  分布式事務(wù)    152
5.3.10  與事務(wù)相關(guān)的典型問題    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塊的函數(shù)    166
6.5.3  帶顯式事務(wù)的Try-Catch
語句    167
6.5.4  死鎖重試    170
6.5.5  Try-Catch語句嵌套    174
6.5.6  錯誤處理體系結(jié)構(gòu):
使用Try-Catch語句    174
6.6  Xact_Abort選項的設(shè)置    175
6.6.1  錯誤處理體系結(jié)構(gòu):基于
Set Xact_Abort On設(shè)置    176
6.6.2  錯誤處理體系結(jié)構(gòu):設(shè)置
Xact_Abort且事物嵌套
為零    180
第7章  特殊存儲過程類型    187
7.1  用戶自定義存儲過程    188
7.2  系統(tǒng)存儲過程    188
7.3  CLR存儲過程    189
7.4  擴展存儲過程    190
7.4.1  擴展存儲過程的設(shè)計    190
7.4.2  注冊擴展存儲過程    194
7.5  臨時存儲過程    196
7.6  全局臨時存儲過程    197
7.7  遠程存儲過程    197
第8章  視圖    199
8.1  標準SQL視圖的設(shè)計    200
8.1.1  語法    201
8.1.2  Enterprise Manager中的
視圖設(shè)計    202
8.1.3  安全性    202
8.1.4  執(zhí)行計劃中的標準SQL
視圖    203
8.1.5  視圖的限制    203
8.1.6  用視圖編輯數(shù)據(jù)    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)合服務(wù)器    223
8.7  使用SQL視圖    223
8.7.1  導(dǎo)出和導(dǎo)入    223
8.7.2  安全性實現(xiàn)    223
8.7.3  降低復(fù)雜性    224
8.7.4  性能提升    226
第9章  觸發(fā)性    227
9.1  DML觸發(fā)器    228
9.1.1  After觸發(fā)器的物理設(shè)計    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()函數(shù)    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ā)器的設(shè)計建議    250
9.4.1  盡可能快地退出觸發(fā)器    250
9.4.2  簡化觸發(fā)器的代碼    251
9.4.3  按功能實現(xiàn)觸發(fā)器    252
9.4.4  不要在觸發(fā)器內(nèi)使用
Select和Print    252
9.4.5  根本不要使用觸發(fā)器    252
9.5  觸發(fā)器中的事務(wù)管理    252
9.6  使用觸發(fā)器    253
9.6.1  級聯(lián)刪除    254
9.6.2  聚集    257
9.6.3  增強不同服務(wù)器或數(shù)據(jù)庫上
的對象的模式完整性    259
第10章  用戶自定義函數(shù)    263
10.1  標量用戶自定義函數(shù)的設(shè)計    264
10.1.1  副作用    265
10.1.2  內(nèi)置函數(shù)的使用    266
10.1.3  加密    266
10.1.4  模式綁定    266
10.2  表-值用戶自定義函數(shù)    267
10.3  在Management Studio中管理
用戶自定義函數(shù)    271
第11章  SQL Server 2005中的
.NET編程基礎(chǔ)    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
數(shù)據(jù)庫對象的 開發(fā)、部署
和使用    278
11.5  不使用Visual Studio 2005
時CLR數(shù)據(jù)庫對象
的開發(fā)和部署    281
11.5.1  開發(fā)代碼    282
11.5.2  編譯程序    282
11.5.3  向SQL Server數(shù)據(jù)庫中
加載程序集    284
11.5.4  創(chuàng)建SQLCLR數(shù)據(jù)庫
對象    285
11.6  為程序集和CLR數(shù)據(jù)庫
對象編目錄    286
11.6.1  為程序集編目錄    286
11.6.2  為過程編目錄    287
11.6.3  .NET Framework的版本    289
第12章  CLR存儲過程開發(fā)基礎(chǔ)    291
12.1  CLR存儲過程的結(jié)構(gòu)    294
12.2  從CLR過程中訪問數(shù)據(jù)    295
12.3  使用存儲過程的基本操作    296
12.3.1  返回值    296
12.3.2  連接上下文    297
12.3.3  返回結(jié)果    298
12.3.4  返回自定義記錄    300
12.3.5  CLR存儲過程中的
參數(shù)    302
12.4  帶正規(guī)ADO.NET對象
的操作    302
12.4.1  SqlCommand    302
12.4.2  SqlDataReader    304
12.5  管理LOB參數(shù)    305
第13章  CLR函數(shù)與觸發(fā)器    311
13.1  CLR函數(shù)    312
13.1.1  標量-值CLR函數(shù)    312
13.1.2  SqlFunction屬性    314
13.1.3  表-值CLR函數(shù)    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數(shù)據(jù)庫對象高級主題    337
14.1  CLR用戶自定義類型(UDT)    338
14.1.1  托管UDT的結(jié)構(gòu)    339
14.1.2  不使用Visual Studio 2005
部署CLR UDT    346
14.1.3  使用CLR用戶自定義
類型    346
14.1.4  跨數(shù)據(jù)庫的用戶自定義
類型    353
14.2  是否使用UDT    354
14.3  用戶自定義聚合CLR函數(shù)    355
14.4  CLR代碼中的事務(wù)    365
14.4.1  使用TransactionScope
類    365
14.4.2  事務(wù)選項    367
14.4.3  分布式事務(wù)    368
14.4.4  顯式事務(wù)    370
14.4.5  新事務(wù)泛型的優(yōu)點    372
14.5  是否設(shè)計CLR(設(shè)計與性能
考慮)    372
14.6  警告    373
第15章  高級存儲過程編程    375
15.1  動態(tài)構(gòu)造的查詢    376
15.1.1  執(zhí)行字符串    376
15.1.2  通過表單查詢    377
15.1.3  數(shù)據(jù)腳本生成器    379
15.1.4  使用sp_executesql存儲
過程    384
15.1.5  安全隱患    385
15.2  使用timestamp值的
樂觀鎖    388
15.2.1  timestamp數(shù)據(jù)類型    389
15.2.2  TSEqual()函數(shù)    391
15.3  全文本搜索和索引    392
15.4  嵌套存儲過程    393
15.4.1  用臨時表向嵌套存儲
過程傳遞記錄集    393
15.4.2  用游標向嵌套存儲過程
傳遞記錄集    396
15.4.3  如何處理存儲過程的
結(jié)果集    397
15.5  使用標識值    403
15.5.1  標準問題和答案    403
15.5.2  標識值與觸發(fā)器    404
15.6  GUID    405
15.7  帶Min()或Max()函數(shù)
的循環(huán)    407
15.8  帶sp_MSForEachTable和
sp_MSForEachDb 的循環(huán)    408
15.9  特性管理    410
第16章  調(diào)試    413
16.1  什么是bug    414
16.2  調(diào)試過程    414
16.2.1  標識階段    414
16.2.2  解決階段    416
16.3  調(diào)試工具與技術(shù)    417
16.4  調(diào)試CLR數(shù)據(jù)庫對象    421
16.5  簡單的調(diào)試器    424
16.5.1  生產(chǎn)環(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  從結(jié)果集中為變量賦值    434
16.7.3  沒有記錄受影響    434
16.7.4  錯誤的大小或數(shù)據(jù)類型    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
數(shù)據(jù)庫    441
17.3  在Visual Studio .NET中
向Visual SourceSafe 添加
數(shù)據(jù)庫對象    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添加
數(shù)據(jù)庫對象:傳統(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章  數(shù)據(jù)庫部署    455
18.1  整個數(shù)據(jù)庫的部署:傳統(tǒng)
方法    456
18.1.1  在Transact-SQL中附著
與分離數(shù)據(jù)庫    457
18.1.2  在Management Studio中
附著和分離    458
18.1.3  備份與恢復(fù)    459
18.1.4  潛在的問題    459
18.2  單個對象的部署    460
18.2.1  部署腳本:傳統(tǒng)方法    460
18.2.2  腳本化數(shù)據(jù):傳統(tǒng)方法    460
18.2.3  在Visual Studio .NET中
腳本化數(shù)據(jù)    461
18.2.4  部署腳本:傳統(tǒng)方法    462
18.2.5  在Visual Studio .NET中
部署Create腳本    469
18.2.6  遞增的構(gòu)件:傳統(tǒng)方法    471
18.2.7  Visual Studio .NET中的
遞增的構(gòu)件    472
第19章  安全    473
19.1  安全體系結(jié)構(gòu)    474
19.1.1  身份驗證與授權(quán)    474
19.1.2  主體    474
19.1.3  可保護對象    475
19.1.4  訪問級別    475
19.1.5  角色    480
19.1.6  所有權(quán)鏈    482
19.1.7  交叉數(shù)據(jù)庫擁有者鏈    482
19.1.8  執(zhí)行環(huán)境上下文的
切換    483
19.2  實現(xiàn)安全性    483
19.2.1  身份驗證模式的選擇    483
19.2.2  管理登錄名    484
19.2.3  授予數(shù)據(jù)庫訪問權(quán)限    486
19.2.4  賦予權(quán)限    488
19.3  登錄名與用戶名的同步    490
19.4  用存儲過程、用戶自定義
函數(shù)和視圖管理應(yīng)用
程序安全    493
19.5  用代理用戶管理應(yīng)用程序
安全    496
19.6  用應(yīng)用程序角色管理應(yīng)用
程序安全    496
第20章  Web搜索引擎的
存儲過程    499
20.1  環(huán)境特征    500
20.2  一個簡單的解決方案    500
20.3  缺點    501
20.4  可用的解決方案    502
20.4.1  結(jié)果分割    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  數(shù)據(jù)類型轉(zhuǎn)換    530
21.5  運行SQL Server 2005 Intergration
Services(SSIS)包    531
21.6  運行DTS 包    531
21.7  在DTS包中實現(xiàn)循環(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服務(wù)
提供    547
附錄A  命名約定    549
附錄B  存儲過程編譯、存儲和
重用    559
附錄C  SQL Server 2005中
的數(shù)據(jù)類型    571

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號