SQL Server 2005高級程式設計
作 者: (美)維埃拉 著,董明 等譯
出 版 社: 人民郵電出版社
出版時間: 2008-4-1
字 數: 1158000
版 次: 1
頁 數: 674
開 本: 16開
印 次: 1
紙 張: 膠版紙
I S B N : 9787115170798
包 裝: 平裝
所屬分類: 圖書 >> 計算機/網路 >> 資料庫 >> SQL
定價:¥89.00
編輯推薦
SQL Server經典巨著,專家親身經驗,娓娓道來。
SQL Server 2005是微軟資料庫技術的一個里程碑,新增或重寫的功能在數量和重要性上都令人驚嘆。但是,功能的強大和豐富也向程式設計師提出了挑戰。只有正確地選擇,並善加運用,才能發揮資料庫的真正潛力。
本書恰恰滿足了這一需要。作為SQL Server領域最具影響力的經典著作之一,本書各版本累計銷量已經超過了10萬冊。在Amazon共有150多位讀者給予4星半評價。它從眾多同類圖書中脫穎而出的秘訣。就在於作者不是一般性地講述各個知識點,而是處處從自身的經驗和實戰需要出發,對各種功能的正確運用做出切中要害的評述和深入的探討,使讀者能夠輕鬆獲得本來需要多年摸索才能掌握的深度知識。書中對一些SQL Server特性的批評,顯示了作者非同一般的功力。
內容簡介
本書是SQL Server套用開發的經典著作。主要討論了SQL Server資料庫對象、T-SQL基礎、鍵和約束、高級查詢、存儲和索引、事務和鎖、觸發器、安全性等內容。書中在講述每個主題時,都會先給出背景知識,然後講述自身經驗,並在適當時候推出示例,進一步予以說明。
本書主要面向中高級資料庫開發人員。
作者簡介
Robert Vieira SQL Server領域的世界權威。他曾經任全球領先的IT管理分析解決方案供應商NetTQ公司的軟體架構師,負責產品的架構設計和對其他程式設計師進行培訓和指導。從2006年開始,他成為一名獨立諮詢師。Vieira在資料庫架構和管理上有很深造詣,並樂於向技術社區分享自己的經驗和知識,因而享譽世界。他撰寫了多部資料庫開發方面的暢銷書,本書是他的代表作。
目錄
第1章 回顧SQL Server中的對象
第2章 工具
第3章 T-SQL基礎
第4章 創建和修改表
第5章 回顧鍵和約束
第6章 更深入的問題:高級查詢
第7章 挑戰設計
第8章 SQL Server——存儲和索引結構
第9章 視圖
第10章 腳本和批處理
第11章 存儲過程和用戶定義函式
11.1 創建存儲過程:基本語法
11.2 用ALTER更改存儲過程
11.3 刪除存儲過程
11.4 參數
11.4.1 聲明參數
11.4.2 創建輸出參數
11.5 通過返回值確認成功或失敗
11.6 錯誤處理
11.6.1 應該採取的方式
11.6.2 手工生成錯誤
11.6.3 添加你自己的自定義錯誤訊息
11.7 存儲過程能提供什麼
11.7.1 創建可調用的過程
11.7.2 因安全而使用存儲過程
11.7.3 存儲過程和性能
11.8 擴展存儲過程
11.9 遞歸概覽
11.10 用戶定義函式
11.10.1 什麼是UDF
11.10.2 返回標量值的UDF
11.11 返回表的UDF
11.12 調試
11.12.1 為進行調試而設定SQL Server
11.12.2 啟動調試器
11.12.3 調試器的組成
11.12.4 調試器啟動後使用
11.13 小結
第12章 事務和鎖
12.1 事務
12.1.1 BEGIN TRAN
12.1.2 COMMIT TRAN
12.1.3 ROLLBACK TRAN
12.1.4 SAVE TRAN
12.2 SQL Server日誌的工作原理
12.2.1 使用CHECKPOINT命令
12.2.2 在恢復時使用CHECKPOINT
12.2.3 正常的伺服器關機
12.2.4 資料庫選項的更改
12.2.5 當Truncate on Checkpoint選項活動時
12.2.6 當恢復時間超出Recovery Interval選項的設定時
12.2.7 失敗和恢復
12.2.8 隱式事務
12.3 鎖和並發
12.3.1 通過鎖可以防止什麼問題
12.3.2 可鎖的資源
12.3.3 鎖升級以及鎖對性能的影響
12.3.4 鎖模式
12.3.5 鎖的兼容性
12.3.6 指定特定的鎖類型--最佳化器提示
12.4 設定隔離級別
12.4.1 READ COMMITTED
12.4.2 READ uncommitted
12.4.3 REPEATABLE READ
12.4.4 Serializable
12.5 處理死鎖(也稱作“A 1205”)
12.5.1 SQL Server是如何判斷存在死鎖的
12.5.2 死鎖犧牲品是如何選擇的
12.5.3 避免死鎖
12.6 小結
第13章 觸發器
13.1 什麼是觸發器
13.1.1 ON
13.1.2 WITH ENCRYPTION
13.1.3 FOR|AFTER與INSTEAD OF子句
13.1.4 WITH APPEND
13.1.5 NOT FOR REPLICATION
13.1.6 AS
13.2 為數據完整性規則使用觸發器
13.2.1 處理來自其他表的要求
13.2.2 使用觸發器檢查更新的差異
13.2.3 為定製錯誤訊息使用觸發器
13.3 觸發器的其他常見用途
13.3.1 更新摘要信息
13.3.2 向非規範化的表中輸入數據以用於報告
13.3.3 設定條件標記
13.4 其他觸發器問題
13.4.1 觸發器可以是嵌套的
13.4.2 觸發器可以是遞歸的
13.4.3 調試觸發器
13.4.4 觸發器不妨礙修改架構
13.4.5 不必刪除觸發器就能夠禁用它
13.4.6 觸發器激發順序
13.5 INSTEAD OF觸發器
13.5.1 INSTEAD OF INSERT觸發器
13.5.2 INSTEAD OF UPDATE觸發器
13.5.3 INSTEAD OF DELETE觸發器
13.6 IF UPDATE()與COLUMNS_UPDATED
13.6.1 UPDATE()函式
13.6.2 COLUMNS_UPDATED()函式
13.7 性能考慮
13.7.1 觸發器是被動的而非先發制人的
13.7.2 觸發器與激發它們的進程之間沒有並發問題
13.7.3 保持短小精悍
13.7.4 在選擇索引時不要忘記了觸發器
13.7.5 不要試圖在觸發器中回滾
13.8 刪除觸發器
13.9 調試觸發器
13.10 小結
第14章 使用.NET
14.1 程式集入門
14.2 編譯程式集
14.3 將程式集上載到SQL Server中
14.4 創建基於程式集的存儲過程
14.5 從程式集中創建標量用戶定義函式
14.6 創建表值函式
14.7 創建聚集函式
14.8 從程式集創建觸發器
14.9 自定義數據類型
14.9.1 從程式集創建自己的數據類型
14.9.2 訪問複雜數據類型
14.9.3 刪除數據類型
14.10 小結
第15章 SQL游標
15.1 什麼是游標
15.2 游標的生命期
15.3 游標的類型和擴展的聲明語法
15.3.1 作用域
15.3.2 可滾動性
15.3.3 游標類型
15.3.4 並發性選項
15.3.5 游標類型轉換檢測:TYPE_WARNING
15.3.6 FOR < SELECT >
15.3.7 FOR UPDATE
15.4 在游標中導航:FETCH語句
15.5 在游標中修改數據
15.6 小結
第16章 XML集成
16.1 XML數據類型
16.1.1 定義一個XML數據類型的列
16.1.2 XML模式集合
16.1.3 創建、修改和刪除XML模式集合
16.1.4 XML數據類型方法
16.1.5 在模式集合上的強制約束
16.2 提取XML格式的關係數據
16.2.1 FOR XML子句
16.2.2 OPENXML
16.3 XML索引的快速提示
16.4 HTTP端點
16.4.1 安全性
16.4.2 HTTP端點方法
16.4.3 創建和管理HTTP端點
16.4.4 最後的思考
16.5 小結
第17章 報表服務
17.1 報表服務入門
17.2 構建簡單的報表模型
17.2.1 數據源視圖
17.2.2 創建報表
17.3 報表伺服器項目
17.4 小結
第18章 BCP和其他基本的大容量操作
18.1 bcp實用工具
18.1.1 BCP語法
18.1.2 BCP導入
18.1.3 BCP導出
18.2 格式化檔案
18.2.1 當列不匹配時
18.2.2 使用格式化檔案
18.2.3 最大化導入的性能
18.3 BULK INSERT
18.4 openrowset(BULK)
18.4.1 ROWS_PER_BATCH
18.4.2 SINGLE_BLOB,SINGLE_CLOB,SINGLE_NCLOB
18.5 小結
第19章 集成服務
19.1 理解問題
19.2 包的概述
19.2.1 任務
19.2.2 主視窗
19.2.3 解決方案資源管理器
19.2.4 屬性視窗
19.3 創建簡單的包
19.4 執行包
19.4.1 執行包實用工具的使用
19.4.2 在Management Studio中執行
19.5 小結
第20章 複製
20.1 複製基礎
20.1.1 考慮在什麼時候做出複製計畫
20.1.2 複製角色
20.1.3 訂閱
20.1.4 訂閱伺服器的類型
20.1.5 篩選數據
20.2 複製模型
20.2.1 快照複製
20.2.2 合併複製
20.2.3 事務複製
20.2.4 立即更新訂閱伺服器
20.2.5 混合複製類型
20.3 複製的拓撲結構
20.3.1 簡單模型
20.3.2 混合模型
20.4 為複製制訂計畫
20.4.1 涉及的數據
20.4.2 移動設備
20.5 在Management Studio中設定複製
20.5.1 為複製配置伺服器
20.5.2 配置發布
20.5.3 設定訂閱伺服器(通過Management Studio)
20.5.4 使用複製資料庫
20.6 複製管理對象
20.7 小結
第21章 全文搜尋
21.1 全文搜尋的架構
21.2 設定全文索引和目錄
21.2.1 為資料庫激活全文特性
21.2.2 創建、修改、刪除和操作全文特性
21.2.3 創建、更改、刪除和操作全文索引
21.2.4 使用舊的語法來創建全文目錄
21.2.5 針對索引的舊語法
21.2.6 關於索引填充的更多內容
21.3 全文查詢語法
21.3.1 CONTAINS
21.3.2 FREETEXT
21.3.3 CONTAINSTABLE
21.3.4 FREETEXTTABLE
21.3.5 處理短語
21.3.6 布爾操作
21.3.7 鄰近詞
21.3.8 權重
21.3.9 特定性
21.4 干擾詞
21.5 小結
第22章 安全性
22.1 安全性基礎
22.1.1 一個人,一個登錄名,一個密碼
22.1.2 密碼過期
22.1.3 密碼長度和組成
22.1.4 嘗試登錄的次數
22.1.5 用戶和密碼信息的存儲
22.2 安全性選項
22.2.1 SQL Server安全性
22.2.2 創建和管理登錄
22.2.3 Windows集成的安全性
22.3 用戶許可權
22.3.1 授予訪問特定資料庫的許可權
22.3.2 授予資料庫中對象的許可權
22.3.3 用戶許可權和語句級別的許可
22.4 伺服器和資料庫角色
22.4.1 伺服器角色
22.4.2 資料庫角色
22.5 應用程式角色
22.5.1 創建應用程式角色
22.5.2 向應用程式角色添加許可許可權
22.5.3 使用應用程式角色
22.5.4 刪除應用程式角色
22.6 更高級的安全性
22.6.1 關於guest賬戶應該怎么辦
22.6.2 TCP/IP連線埠設定
22.6.3 別使用sa賬戶
22.6.4 讓xp_cmdshell保持隱秘
22.6.5 不要忘記作為安全手段的視圖、存儲過程以及UDF
22.7 證書和非對稱密鑰
22.7.1 證書
22.7.2 非對稱密鑰
22.8 小結
第23章 性能最佳化
23.1 什麼時候進行最佳化
23.2 索引選擇
23.3 客戶端和伺服器端處理
23.4 戰略上的非規範化
23.5 例行維護
23.6 組織好存儲過程
23.6.1 讓事務儘量短
23.6.2 儘可能使用限制性最少的事務隔離級別
23.6.3 必要的話實現多個解決方案
23.6.4 儘可能避免使用游標
23.7 使用臨時表
23.8 莫以善小而不為
23.9 硬體的考慮
23.9.1 獨占對伺服器的使用
23.9.2 I/O密集與CPU密集
23.9.3 OLTP和OLAP
23.9.4 現場的和非現場的
23.9.5 掛起的風險
23.9.6 丟失數據
23.9.7 性能就是全部嗎?
23.9.8 驅動器支持
23.9.9 理想的系統
23.10 排錯
23.10.1 多種多樣的顯示計畫和STATISTICS
23.10.2 資料庫一致性檢查器(DBCC)
23.10.3 查詢調控器
23.10.4 SQL Server Profiler
23.10.5 性能監視器
23.11 小結
第24章 管理
24.1 計畫作業
24.1.1 創建操作員
24.1.2 創建作業和任務
24.2 備份和恢復
24.2.1 創建備份
24.2.2 恢復模式
24.2.3 恢復
24.3 索引維護
24.3.1 ALTER INDEX
24.3.2 索引名
24.3.3 表名或視圖名
24.3.4 rebuild
24.3.5 DISABLE
24.3.6 REORGANIZE
24.4 數據存檔
24.5 小結
第25章 SMO:SQL管理對象
25.1 SQL Server SMO的歷史
25.1.1 SQL分散式管理對象
25.1.2 SQL命名空間
25.1.3 WMI
25.1.4 SMO
25.2 SMO對象模型
25.3 演練實例
25.3.1 開始
25.3.2 創建資料庫
25.3.3 創建表
25.4 刪除資料庫
25.5 備份資料庫
25.6 生成腳本
25.7 完整的代碼
25.8 小結
附錄A 系統函式
附錄B 連線性
附錄C 獲得服務
媒體評論
“如果你需要一部既有相當的廣度,又具足夠深度的書,那么本書將是最佳選擇。”
——Blogcritics.org
“本書仍然是SQL Server程式設計師的必讀之作。它是同類圖書中最通俗易讀的,很好地結合了理論和實踐。”
——sql-server-performance.com