SQL Server 2000高級編程技術 特色及評論
這是一本極具特色、難得一見的介紹SQL Server 2000高級編程技術的資料庫專業參考書。 |
全書以存儲過程為主,圍繞設計高水平、專業的資料庫套用和Web套用這一主題,全面介紹了設計、編寫、執行、管理、調試、重編譯、加密及部署存儲過程的各個方面知識,並介紹了實現一個關鍵套用所需的出錯處理、調試和版本控制等技術。與其他只圍繞微軟給出的pubs和Northwind資料庫打轉轉的同類SQL Server書籍相比。本書涵蓋了所有SQL Server版本,包括MSDE,最大特點是通過一個名為Asset的虛構資產跟蹤資料庫進行介紹,有針對性,實用性更強,而且主要章節都有習題,書後有習題解答。 |
本書的讀者對象為具備了資料庫基礎知識且已了解了SQL Server的專業人員,以及MCSE和MSDE資格認證考試人員。 |
SQL Server 2000高級編程技術 內容簡介
本書是一本極具特色、難得一見的介紹SQL Server 2000高級編程技術的資料庫專業參考書。全書以存儲過程為主,圍繞設計高水平、專業的資料庫套用和Web 套用這一主題,全面介紹了設計、編寫、執行、管理、調試、重編譯、加密及部署存儲過程的各個方面知識。SQL Server 2000高級編程技術 本書目錄
第1章簡介 |
1.1誰是本書的讀者 |
1.2 本書的內容 |
1.3需求 |
1.4SQLServer2000的新特性 |
1.4.1改進了對Web的支持 |
1.4.2改進了伸縮能力和可靠性 |
1.4.3改進了開發和管理環境 |
1.5樣本資料庫 |
1.5.1樣本資料庫安裝 |
1.5.2樣本資料庫的設計目的和設計思想 |
1.5.3資料庫圖解 |
1.6小結 |
第2章關係資料庫概念和SQLServe環境 |
2.1資料庫 |
2.1.1關係資料庫 |
2.1.2資料庫對象 |
2.1.3什麼是存儲過程 |
2.2SQLServer2000的工具 |
2.2.1ServiceManager |
2.2.2QueryAnalyzer |
2.2.3EnterpriseManager |
2.2.4DTS--導入和導出數據 |
2.2.5osql和isql |
2.2.6SQLServerProfiler |
2.2.7客戶端網路實用工具 |
2.2.8幫助子系統和SQLServerBooksOnline |
2.3存儲過程的基本操作 |
2.3.1通過QueryAnalyzer執行存儲過程 |
2.3.2通過EnterpriseManager管理存儲過程 |
2.3.3在EntepriseManager中編輯存儲過程 |
2.3.4在QueryAnalyzer中編輯存儲過程 |
2.3.5語法錯誤 |
2.3.6CreateStoredProcedureWizard |
2.4小結 |
2.5練習 |
第3章存儲過程設計概念 |
3.1存儲過程的結構 |
3.1.1組成 |
3.1.2功能 |
3.1.3語法 |
3.2存儲過程的類型 |
3.3編譯 |
3.3.1編譯和執行過程 |
3.3.2執行規劃的重用 |
3.3.3重編譯存儲過程 |
3.3.4存儲存儲過程 |
3.4管理存儲過程 |
3.4.1列舉存儲過程 |
3.4.2查看存儲過程 |
3.4.3重命名存儲過程 |
3.4.4刪除存儲過程 |
3.4.5查看相關和有依賴關係的對象 |
3.5存儲過程在資料庫套用開發中的作用 |
3.5.1增強數據完整性 |
3.5.2複雜商業規則和約束的一致實現 |
3.5.3模組化設計 |
3.5.4可維護性 |
3.5.5減少網路流量 |
3.5.6更快的執行 |
3.5.7增強了安全性 |
3.6小結 |
3.7練習 |
第4章Transact-SQL編程基礎 |
4.1TSQL標識符 |
4.2資料庫對象限定詞 |
4.3數據類型 |
4.3.1數據類型的分組 |
4.3.2數據類型的同義詞 |
4.3.3用戶定義的數據類型 |
4.4變數 |
4.4.1局部變數 |
4.4.2全局變數 |
4.4.3table(表)變數 |
4.5流控制語句 |
4.5.1注釋 |
4.5.2語句塊---Begin…End |
4.5.3條件執行--If語句 |
4.5.4循環---While語句 |
4.5.5無條件執行--GoTo語句 |
4.5.6調度執行--WaitFor語句 |
4.6游標 |
4.6.1Transact-SQL游標 |
4.6.2與游標有關的語句和函式 |
4.6.3使用游標帶來的問題 |
4.6.4合理使用游標 |
4.7小結 |
4.8練習 |
第5章函式 |
5.1使用函式 |
5.1.1用於選擇和賦值中 |
5.1.2用於過濾規則中 |
5.1.3用於表達式中 |
5.1.4作為檢查和默認的約束 |
5.1.5替代表 |
5.2函式的類型 |
5.2.1標量函式 |
5.2.2集合函式 |
5.2.3行集合函式 |
5.3小結 |
5.4練習 |
第6章複合Transact-SQL結構--批處理.腳本和事務 |
6.1批處理 |
6.1.1使用批處理 |
6.1.2批處理與出錯 |
6.1.3DDL批處理 |
6.2腳本 |
6.2.1資料庫腳本編程 |
6.3事務概念 |
6.3.1自動提交的事務 |
6.3.2顯式事務 |
6.3.3隱式事務 |
6.3.4事務處理的結構 |
6.3.5嵌套的事務 |
6.3.6已命名的事務 |
6.3.7保存點 |
6.3.8鎖定 |
6.3.9事務隔離級別和提示 |
6.3.10分散式事務 |
6.3.11典型的出錯 |
6.4小結 |
6.5練習 |
第7章調試和出錯處理 |
7.1調試 |
7.1.1什麼是"bug" |
7.1.2調試過程 |
7.1.3調試工具和技術 |
7.1.4典型的出錯 |
7.2出錯處理 |
7.2.1使用出錯處理 |
7.2.2為何要自尋煩惱 |
7.2.3出錯處理的策略 |
7.2.4一種通用的出錯處理方法 |
7.2.5XACT_ABORT |
7.2.6Raiserror |
7.3小結 |
7.4練習 |
第8章確定專業的編程風格 |
8.1原始碼控制的概念 |
8.1.1MicrosoftVisualSourceSafe簡介 |
8.1.2管理VisualSourceSafe資料庫 |
8.1.3往VisualSourceSafe中添加一個資料庫 |
8.1.4管理存儲過程 |
8.1.5VisualSourceSafeExplorer |
8.2命名約定 |
8.2.1為何要自尋煩惱 |
8.2.2命名變數和對象 |
8.2.3建議的命名約定 |
8.3小結 |
第9章特殊類型的過程 |
9.1存儲過程的類型 |
9.1.1用戶定義的存儲過程 |
9.1.2系統存儲過程 |
9.1.3擴展的存儲過程 |
9.1.4臨時存儲過程 |
9.1.5全局臨時存儲過程 |
9.1.6遠程存儲過程 |
9.2用戶定義的函式 |
9.2.1用戶定義函式的設計 |
9.2.2表值用戶定義函式 |
9.2.3行內的表值用戶定義函式 |
9.2.4在EnterpriseManager中管理用戶定義的函式 |
9.3觸發器 |
9.3.1物理設計 |
9.3.2多記錄上的修改操作 |
9.3.3嵌套觸發器和遞歸觸發器 |
9.3.4觸發器的限制 |
9.3.5SQLServer2000中的觸發器 |
9.3.6管理觸發器 |
9.3.7設計觸發器的建議 |
9.3.8觸發器中的事務管理 |
9.3.9使用觸發器 |
9.4小結 |
9.5練習 |
第10章高級存儲過程編程技術 |
10.1動態地構造查詢 |
10.1.1執行一個串 |
10.1.2 通過窗體查詢 |
10.1.3 使用sp_executesql存儲過程 |
10.2使用時間戳的樂觀鎖 |
10.2.1時間戳 |
10.2.2TSEQUAL函式 |
10.2.3時間戳轉換 |
10.3全文搜尋和索引 |
10.4嵌套的存儲過程 |
10.4.1使用臨時表來傳遞一個記錄集給一個嵌套的存儲過程 |
10.4.2使用游標來傳遞一個記錄集給一個嵌套的存儲過程 |
10.5如何處理一個存儲過程的結果集 |
10.6使用標識值 |
10.6.1一個標準問題及解答 |
10.6.2標識值與觸發器 |
10.6.3序列號表 |
10.6.4在一個臨時表中保存標識值 |
10.7GUID |
10.8使用MIN或MAX函式的While循環 |
10.9屬性管理 |
10.10小結 |
10.11練習 |
第11章與SQLServer環境的互動 |
11.1OLEAutomation對象的執行 |
11.1.1sp_OACreate |
11.1.2sp_OAMethod |
11.1.3sP_OASetProperty |
11.1.4sp_OAGetProperty |
11.1.5sp_OADestroy |
11.1.6sp_OAGetErrorInfo |
11.1.7數據類型轉換 |
11.2運行程式 |
11.3運行Windows腳本檔案 |
11.4與NTRegistry的互動 |
11.4.1Registry子樹 |
11.4.2鍵和子鍵 |
11.5Registry和SQLServer |
11.5.1xp_regread |
11.5.2xp_regwrite |
11.5.3xp_regdeletevalue |
11.6作業 |
11.6.1作業的管理 |
11.6.2JobScheduler的可選方法 |
11.6.3用於維護作業的存儲過程 |
11.6.4操作員和報警 |
11.7SQLServer和Web |
11.7.1WebAssistant |
11.7.2Web任務存儲過程 |
11.7.3sp_makewebtask |
11.7.4sp_runwebtask |
11.7.5sp_dropwebtask |
11.7.6Web頁模板 |
11.8串模板 |
11.8.1xp_sprintf |
11.8.2xp_sscanf |
11.9郵件 |
11.9.1用於E-mail工作的擴展存儲過程 |
11.9.2xp_sendmail |
11.9.3xp_readmail |
11.9.4sp_processmail |
11.10資料庫部署 |
11.10.1在以前的環境中 |
11.10.2在新版本的環境中 |
11.11安全 |
11.11.1安全結構 |
11.11.2實現安全性 |
11.11.3登錄和用戶名的同步 |
11.11.4使用存儲過程.用戶定義函式和視圖來管理應用程式安全 |
11.11.5使用,個代理用戶來管理應用程式安全 |
11.11.6使用應用程式角色來管理應用程式安全 |
11.12小結 |
11.13練習 |
第12章SQLServer2000中的XML支持 |
12.1XML的變遷 |
12.2XML簡介 |
12.2.1標記語言簡介 |
12.2.2構造標記語言的塊 |
12.2.3XML |
12.2.4XML文檔質量 |
12.2.5XML解析器和DOM |
12.2.6XML中的連結和查詢 |
12.2.7轉換XML |
12.3為何使用XML |
12.3.1用於單位之間的信息交換 |
12.3.2信息發布 |
12.4SQLServer中的XML支持 |
12.4.1Transact-SQL語言擴展 |
12.4.2OPENXML |
12.4.3使用XML發布資料庫信息 |
12.5小結 |
12.6練習 |
附錄ASQLServer2000中的T-SQL和XML數據類型 |
附錄B練習答案 |