Visual Studio與SQL Server開發指南——最優架構與實例(第7版)

Visual Studio與SQL Server開發指南——最優架構與實例(第7版)

《Visual Studio與SQL Server開發指南——最優架構與實例(第7版)》是2008年清華大學出版社出版的圖書,作者是Vaughn.W.R.、Blackburn.P.。

基本介紹

  • 書名:Visual Studio與SQL Server開發指南——最優架構與實例(第7版)
  • 作者:Vaughn.W.R.、Blackburn.P.
  • 譯者:沈潔、楊華
  • 定價:89元
  • 出版社:清華大學出版社
  • 出版時間:2008-09
  • 裝幀:平裝
內容簡介,目錄,

內容簡介

Hitchhiker’sGuide系列叢書有哪些特別之處?也許了解一點過往情況有助於弄清這個問題。在20世紀80年代,我為MicrosoftUniversity(MSU)工作,主要工作內容是編撰培訓材料和進行培訓授課。不過,當時的技術主題(例如,OS/2和QuickBasic)現在已經過時了。當Microsoft與Sybase合作開發針對OS/2的SQLServer時,MSU和我被雇來為開發人員建立培訓課程,內容包括:關係資料庫設計、TSQL編程、DBLibrary編程以及其他相關主題。我負責管理並指導培訓者。該課程持續了差不多5年時間——每周授課3~5天,每月授課三周。在這一過程中,所有人都對SQLServer有了更全面的了解和實踐。
當MSU結束之後,我編寫了首本Hitchhiker’sGuide:Hitchhiker’sGuidetoVBSQL。這本書的標題與DouglasAdam的書毫無關係——他的書帶有嚮導性質(與Europeon$5aDay類似),主要針對利用VisualBasic開發SQLServer前端套用的人員。首本Hitchhiker’sGuide也幫助我獲得了在VisualBasic文檔小組擔任創作者的工作機會。該書的第一版並沒有對VisualBasic(1.0)、DBLibrary、SQLServer以及它們之間的內部關在線上製作詳細介紹。很多提示和技術來自我所編寫的培訓教材以及與SQLServer開發人員、MSU學生的交流。雖然本書包含相當多的技術內容,但我試圖通過某些使用得並不恰當的例子將相對枯燥的主題變得幽默易懂。第1版Hitchhiker’sGuide交由MicrosoftPress出版,但是MicrosoftPress更希望出版與PowerBuilder有關的書,而不是出版與DBMS(例如SQLServer)有關的書。這種想法實在很奇怪。因此,我自費出版了前三版Hitchhiker’sGuide。這些書在美國的銷量非常不錯,並且行銷海外。我曾將這些書的著作權賣給一位香港的朋友,他使這些書在中國也有了很好的銷量。遺憾的是,我從著作權中並沒有獲得任何回報。
每個版本的Hitchhiker’sGuide都在上一版的基礎上有所發展。隨著VisualBasic及SQLServer的發展與成熟,我對它們的理解也在不斷擴展。每本Hitchhiker’sGuide都關注於當前最新的VisualBasic與SQLServer的接口與功能,同時,每本Hitchhiker’sGuide也對ODBC、DAO、ODBCDirect及ADO接口作出了明確定義,並說明了利用VisualBasic工具訪問這些數據接口的方法。我很喜歡思考這些書是否真正將Microsoft及數據訪問小組的注意力轉移到使用者所面臨的實際問題上。這些使用者包括我的學生、顧客以及經常保持聯繫的讀者。我會把針對公共問題的新方法放在下一版叢書中。這么多年以來,我用很多時間與開發人員團體進行交流,這些交流方式包括會議、新聞組以及培訓課程。如果某位讀者遇見我並針對數據訪問提出了更好的解決方法,那么這個方法很可能會出現在Hitchhiker’sGuide叢書中。
最終,Hitchhiker’sGuide叢書前三版的暢銷使得MicrosoftPress提出出版第4版的要求。當和出版社達成共識(由我負責所有版本的控制)之後,我同意了MicrosoftPress的出版要求。在接下來的幾年中,MicrosoftPress出版了更新後的第5版和第6版。這些書都至少被翻譯成8種語言,包括日語、西班牙語、法語、德語、匈牙利語、義大利語、韓語以及中文。

目錄

第1章探索應用程式的體系結構 1
1.1概述 1
1.2選擇正確的體系結構 1
1.3理解工具集 3
1.3.1ADO和ADO.NET的發展
歷程 3
1.3.2Jet和ODBC的產生 4
1.3.3數據訪問對象的產生 5
1.3.4OLEDB的產生 5
1.3.5ADO.NET的產生 6
1.4了解應用程式的設計約束 7
1.4.1影響設計的因素 8
1.4.2在實現之前進行設計 10
1.5選擇正確的數據訪問接口 11
1.5.1選擇正確的數據訪問
提供者 12
1.5.2SQLServerEverywhere 12
1.6選擇正確的資料庫管理系統 18
1.6.1SQLServer開銷 18
1.6.2SQLServer的安全性 19
1.6.3性能 20
1.6.4多用戶問題 26
1.6.5可伸縮性問題 27
1.6.6局限性問題 28
1.6.7客戶端的限制 29
1.6.8伺服器的限制 30
1.6.9維護和管理 30
1.6.10管理維護任務 31
1.6.11數據恢復的重要性 31
1.6.12管理資源 35
1.7理解基本的數據訪問
體系結構 36
1.7.1多層設計 36
1.7.2建立獨立的應用程式 38
1.7.3基於ASPBrowser的體系
結構 49
1.7.4XMLWeb服務的
體系結構 50
1.8小結 50
第2章SQLServer的工作原理 53
2.1概述 53
2.2伺服器和版本 53
2.2.1SQLServer的並行執行 56
2.2.2SQLServerExpressEdition
簡介 56
2.2.3WorkgroupEdition簡介 64
2.3安裝SQLServer 64
2.4運行SQLServer服務 70
2.4.1檢查SQLServer服務 70
2.4.2啟動SQLServer服務 72
2.5瀏覽SQLServer系統資料庫 73
2.5.1SQLServer實例 73
2.5.2多個實例或多個資料庫? 74
2.5.3用戶和系統資料庫 74
2.5.4創建用戶資料庫 76
2.5.5管理用戶資料庫 76
2.6理解SQLServer的安全系統 77
2.6.1SQLServer2005中的對象 78
2.6.2系列問題:SQLServer2005
對所有權的說明 81
2.6.3理解登錄、用戶名以及
模式 82
2.7管理SQLServer的連線 87
2.7.1理解數據訪問接口的角色 88
2.7.2理解協定 88
2.7.3打開連線 89
2.7.4調試連線 92
2.7.5選擇連線策略 94
2.8使用SQLQueryTool 96
2.9創建SELECT查詢 98
2.9.1使用表和列的別名 100
2.9.2SELECT操作簡介 101
2.9.3理解WHERE子句 101
2.9.4通過參數傳遞字面值 102
2.9.5減少返回的行數 103
2.9.6通過WHERE子句執行
JOIN操作 104
2.9.7處理特定類型的查詢問題 108
2.10創建和查詢視圖 118
2.11實現業務規則 121
2.11.1實現具有擴展屬性的
業務規則 122
2.11.2通過T-SQL規則、約束
和默認值實現業務規則 127
2.12User-Defined(別名)類型 129
2.13實現約束 130
2.14通過批處理檔案和腳本來
管理資料庫和查詢 132
2.15查詢最佳化器和查詢計畫 133
2.15.1查看和調整查詢計畫 133
2.15.2檢查客戶統計數據和
改變計畫 135
2.15.3執行查詢計畫 138
2.16理解快取 138
2.17執行動作命令 140
2.17.1插入新行 141
2.17.2更新行 147
2.18存儲過程簡介 155
2.19觸發器簡介 157
2.19.1創建DML觸發器 157
2.19.2創建DDL觸發器 158
2.20通過事務來保護數據
完整性 158
2.21管理功能 159
2.21.1附加.MDF資料庫檔案 159
2.21.2設定AutoClose選項 161
2.21.3導入和導出數據 161
2.21.4備份SQLServer
資料庫 162
2.22事務日誌的使用 163
2.23小結 163
第3章關係資料庫101 165
3.1概述 165
3.2建立牢固的資料庫設計基礎 165
3.3理解關係資料庫的正規化 167
3.4創建表、行和列 169
3.4.1SQLServer針對關係
資料庫的存儲方式 169
3.4.2選擇正確的數據類型 178
3.5小結 183
第4章VisualStudio入門 185
4.1概述 185
4.2我的經歷 185
4.3安裝正確版本的
VisualStudio 186
4.3.1處理CTP或Beta版本 187
4.3.2典型的安裝過程 187
4.3.3安裝MSDN文檔 191
4.4啟動VisualStudio 192
4.5定製VisualStudio2005 193
4.5.1保存和載入自定義
的配置 195
4.5.2創建自定義的項目模板 197
4.5.3在線上配置或本地幫助 202
4.6配置伺服器(或資料庫)
管理器 202
4.6.1通過ServerExplorer創建
新的資料庫 203
4.6.2在代碼中創建新的資料庫 205
4.7創建和管理資料庫連線 205
4.8通過ServerExplorer管理
資料庫對象 212
4.9通過查詢設計器管理查詢 222
4.9.1熟悉QueryDesigner 222
4.9.2QueryDesigner窗格 223
4.9.3派生表的定義 225
4.9.4修改查詢類型 225
4.9.5QueryDesigner(查詢設計
器)——重述 232
4.10通過ServerExplorer來查看
同義詞 233
4.11通過ServerExplorer管理
類型 234
4.12使用ServerExplorer管理
彙編 237
4.13使用ServerExplorer管理
伺服器 237
4.14小結 240
第5章用ServerExplorer管理
可執行程式 241
5.1概述 241
5.2創建和編輯存儲過程 241
5.2.1比較SQLServer2005和
VisualStudio2005 242
5.2.2進入SQLServerManagement
StudioExpress 243
5.3創建新存儲過程 243
5.4用RunSelection執行T-SQL 250
5.5調試存儲過程 250
5.5.1針對本地實例的T-SQL
調試 251
5.5.2在存儲過程中用斷點調試 253
5.6在遠程實例上調試存儲過程 255
5.7從代碼調試存儲過程 258
5.8使用ServerExplorer管理
函式 260
5.9小結 268
第6章構建數據源、數據集和表
適配器 269
6.1概述 269
6.2創建YADAI的原因 270
6.3強類型數據是否重要 271
6.4什麼是數據源 272
6.5什麼是TableAdapter 275
6.6TableAdapter中缺少什麼 276
6.7創建基於資料庫的數據源 277
6.8配置TableAdapter 283
6.8.1添加參數到查詢中 289
6.8.2選擇查詢方法進行生成 291
6.9使用拖放綁定TableAdapter 294
6.9.1定製生成的UI 296
6.9.2使用SmartTag管理綁定
控制項 297
6.9.3綁定到Details 298
6.9.4綁定到自定義控制項 298
6.10不通過拖放直接使用
TableAdapter 299
6.11在DataSourceDesigner中
管理DataTable類 300
6.11.1設定DataTable屬性 300
6.11.2生成的窗體代碼 301
6.12在應用程式間移動數據源 301
6.13創建Web服務數據源 302
6.13.1什麼是Web服務 302
6.13.2構造一個示例Web
服務 304
6.13.3使用和測試Web服務 310
6.13.4在UI中提供Web服務
數據源 312
6.14小結 313
第7章管理數據工具和數據綁定 315
7.1概述 315
7.2漫遊VisualStudioToolbox 316
7.2.1提供廢棄的數據訪問控制項 317
7.2.2找到正確的控制項 318
7.2.3理解ToolTray 319
7.3使用DatasetToolbox元素 319
7.4數據綁定 321
7.5使用BindingSource類 326
7.5.1使用EndEdit和CancelEdit
方法 331
7.5.2使用BindingSource類的
數據綁定 333
7.6使用BindingNavigator控制項 334
7.7使用DataGridView控制項 335
7.8使用ProgressBar控制項 337
7.9小結 338
第8章ADO.NET入門 339
8.1概述 339
8.2數據訪問的挑戰 339
8.3ADO.NET總覽 340
8.4使用VisualStudioObject
Browser研究ADO.NET 342
8.4.1用ClassDiagram研究
ADO.NET 343
8.4.2解釋名稱空間 345
8.4.3對類名稱的處理 346
8.4.4使用簡寫來定址類 346
8.5實例化ADO.NET對象 347
8.5.1理解代碼的作用域 347
8.5.2理解對象實例化 349
8.5.3VisualBasic.NET中的
Using代碼塊 350
8.6研究System.Data.SqlClient
名稱空間 351
8.7研究SqlClient名稱空間 352
8.8研究System.Data名稱空間 359
8.8.1解釋System.Data命名
約定 359
8.8.2理解System.Data.DataSet和
DataTable對象 360
8.8.3是否使用JOIN——這是個
問題 370
8.9小結 371
第9章建立連線 373
9.1概述 373
9.2連線策略——包括安全 373
9.3配置伺服器及防火牆 375
9.4連線策略 380
9.4.1實時連線 380
9.4.2持久連線 381
9.4.3理解MARS及其含義 381
9.4.4為連線對象選擇正確的
作用域 382
9.5建立連線 383
9.6編寫代碼創建連線 386
9.6.1什麼是ConnectionString 386
9.6.2用SqlConnectionString
Builder類創建一個
ConnectionString 386
9.6.3保護ConnectionString 388
9.6.4保存ConnectionString 388
9.6.5建立Connection對象 389
9.6.6設定伺服器名稱關鍵字 392
9.6.7為實例設定別名 393
9.6.8重訪問其他關鍵字 395
9.6.9配置連線池關鍵字的值 396
9.7理解並管理連線池 397
9.7.1監控連線池 404
9.7.2防止連線池的溢出 405
9.8為其他提供者建立
ConnectionString 406
9.9使用VisualStudio建立
ConnectionString 408
9.10(半)自動打開和關閉連線 411
9.11理解Connection屬性 411
9.12使用Connection方法 413
9.13處理Connection事件 417
9.14管理Connection異常 418
9.14.1關於異常 419
9.14.2理解SqlException類 420
9.14.3處理異常 422
9.15小結 422
第10章管理SqlCommand對象 423
10.1概述 423
10.2創建SqlCommand對象 423
10.2.1理解SqlCommand
屬性 424
10.2.2理解SqlCommand
方法 429
10.2.3理解SqlCommand支持
函式 433
10.3將adhoc查詢集成到套用
程式中 435
10.4編碼參數查詢 440
10.4.1插入adhoc查詢 441
10.4.2理解SqlParameter
Collection類 442
10.4.3理解SqlParameter類 444
10.5驗證值的有效性 454
10.5.1編寫代碼驗證值的
有效性 455
10.5.2處理複雜參數設計
問題 459
10.5.3理解SqLCommand
事件 462
10.6執行存儲過程 462
10.6.1處理OUTPUT、
INPUT/OUTPUT和
RETURN值參數 462
10.6.2處理行集和OUTPUT
參數 464
10.7小結 466
第11章執行SqlCommand對象 467
11.1概述 467
11.2同步執行SqlCommand
對象 467
11.3了解SqlDataReader 474
11.3.1從流中取回數據 475
11.3.2從SqlDataReader流中
取回元數據 480
11.3.3設計最好的
SqlDataReader 481
11.4填充數據結構 481
11.4.1通過設計進行有效
填充 482
11.4.2如何填充 484
11.4.3填充InfoMessage訊息 485
11.4.4填充OUTPUT和
RETURN值參數 486
11.4.5用DataTableLoad方法
填充 487
11.4.6填充附加結果集 488
11.5異步取回行 491
11.6異步執行命令 493
11.6.1異步SqlCommand函式
編碼 494
11.6.2等待戈多或異步操作
完成 497
11.7小結 503
第12章更新管理 505
12.1概述 505
12.2使用嚮導創建更新動作
命令 505
12.2.1CommandBuilder應該
完成的操作 506
12.2.2並發處理——更新和
插入衝突 507
12.2.3ADO.NETCommandBuilder
的工作方式 509
12.2.4編碼CommandBuilder 510
12.3替代更新:使用TableAdapter
配置嚮導 512
12.3.1使用TableAdapter更新 512
12.3.2管理生成的參數 516
12.4用伺服器端邏輯進行複雜
的更新 518
12.4.1使用事件執行自己的
更新邏輯 518
12.4.2UpdateEvents的示例 520
12.4.3管理批模式更新 525
12.5通過設計或衝突管理並發 527
12.6小結 532
第13章管理SQLServerCLR
可執行程式 535
13.1概述 535
13.1.1VisualBasic.NET開發
人員的作用 535
13.1.2VisualStudio的作用 536
13.2發展CLR可執行程式技術 536
13.3CLR可執行程式適用的
場合 538
13.3.1可以或應該構建的可
執行程式類型 539
13.3.2預覽示例 540
13.4設計CLR可執行程式 542
13.5構建第一個CLR可執行
程式 542
13.6構建並部署一個CLR
可執行程式 548
13.6.1準備部署一個CLR
可執行函式 548
13.6.2部署過程 552
13.7建立測試環境 554
13.7.1在T-SQL中定址CLR
函式 555
13.7.2評價CLR可執行程式
的性能 558
13.7.3創建表值函式 560
13.8在CLR可執行程式中處理
ADO.NET 563
13.8.1使用上下文連線 563
13.8.2管理事務 565
13.8.3查詢數據 565
13.8.4返回數據和訊息 565
13.9編碼CLR存儲過程 565
13.9.1構建CLR存儲過程的
示例 567
13.9.2測試CLR存儲過程 573
13.9.3研究餘下的CountWords
示例 574
13.9.4評價CLR和T-SQL的
性能 575
13.10實現基本的用戶定義類型
CLR可執行程式 577
13.10.1編碼CLRUDT 578
13.10.2調試CLRUDT 585
13.10.3使用SELECT查詢
UDT數據 587
13.10.4為提高性能調整
自己的UDT 588
13.10.5引用並更新UDT值 589
13.10.6單步調試UDT代碼 591
13.10.7驗證自己的UDT
數據 593
13.10.8實現UDT方法 594
13.11實現高級CLR用戶定義
的類型 595
13.11.1用戶自定義串列化 596
13.11.2構建iTypCurrencyV2
UDT 597
13.11.3測試typICurrencyV2
UDT 602
13.12訪問CLRUDT的其他
方式 602
13.12.1引用UDT 603
13.12.2實例化UDT變數 604
13.12.3瀏覽LoanRequest
代碼 605
13.13實現CLR聚集可執行
程式 606
13.13.1什麼是聚集 607
13.13.2CLR聚集示例 607
13.13.3測試CLR聚集 612
13.14實現CLR觸發器 612
13.14.1構建CLR觸發器 613
13.14.2訪問INSERTED和
DELETED偽表 614
13.14.3處理更新 615
13.15高級調試 616
13.16UDT安全和IP安全 617
13.16.1提供自己的智慧型
屬性 619
13.16.2保護自己的智慧型
屬性 619
13.17小結 620
第14章創建並管理報表 621
14.1概述 621
14.2理解報表服務和RDL 622
14.3VisualStudio2005報表 626
14.4VisualStudio2005報表
工具的內容 627
14.5構建自己的第一個報表 628
14.5.1創建報表數據源 629
14.5.2展示報表 631
14.5.3配置ReportViewer控制項 634
14.5.4測試報表 635
14.5.5完善報表 636
14.6深入研究ReportViewer 640
14.6.1ReportViewer屬性 640
14.6.2ReportViewer的方法 642
14.6.3ReportViewer事件 642
14.6.4LocalReport類 643
14.6.5ServerReport類 644
14.7管理伺服器報表 644
14.7.1呈現伺服器報表 645
14.7.2管理伺服器報表參數 646
14.7.3重新設定參數值 649
14.7.4有趣的ServerReport
參數 649
14.7.5有趣的ServerReport
方法和函式 650
14.8管理參數 650
14.8.1捕獲參數 651
14.8.2報表參數 656
14.9高級報表技術 658
14.9.1管理單擊報表 658
14.9.2使用SubReport
報表項 662
14.9.3RDLC的組成 664
14.9.4將RDL轉換為RDLC 665
14.10實現Matrix報表 666
14.10.1報表的數據考慮 666
14.10.2初始選擇查詢 667
14.10.3數據分組 668
14.10.4綁定Matrix報表 670
14.11小結 679
第15章本書總結 681
附錄I安裝示例和測試資料庫 683
I.1安裝示例 683
I.2安裝示例資料庫 683
I.2.1附加示例資料庫 684
I.2.2為實例創建別名 685
I.3特定章節的配置問題 686
I.3.1第8章:ADO.NET入門 686
I.3.2第13章:管理CLR可執行
檔案 686
I.4小結 687
附錄II重新安裝DACW和Visual
Studio中沒有的其他功能 689
附錄III監控SQLServer 691
III.1用SQLProfiler監控
SQLServer 691
III.1.1添加過濾條件 691
III.1.2配置SQLProfiler 692
III.1.3開始追蹤 694
III.1.4評估追蹤 695
III.1.5一些SQLProfiler提示 695
III.2用性能計數器監控SQL
Server和ADO.NET 696
III.3小結 700
附錄IV創建並管理伺服器端游標 701
IV.1伺服器端游標重要的原因 701
IV.2ADO.NET如何實現游標 702
IV.3如何管理伺服器端游標 702
IV.4ADO.NET如何創建伺服器
端游標 704
IV.4.1打開、關閉和重新打開
連線 704
IV.4.2創建游標 704
IV.5從游標取回數據 705
IV.6更新伺服器端游標 708
IV.7小結 708

相關詞條

熱門詞條

聯絡我們