Microsoft SQL Server 2008極大地完善了數(shù)據(jù)庫引擎的核心組件,也改變了數(shù)據(jù)庫應(yīng)用程序的構(gòu)建方式。《SQL Server 2008高級(jí)程序設(shè)計(jì)》由世界頂尖SQL Server權(quán)威專家Robert Vieira編寫,旨在指導(dǎo)您熟練運(yùn)用一系列日趨復(fù)雜的功能,助您更高效地管理數(shù)據(jù)。
本書首先介紹SQL Server 2008的新功能,然后在更詳實(shí)的示例代碼的引導(dǎo)下全面深入地展開論述,討論了如何編寫復(fù)雜查詢、構(gòu)建各種數(shù)據(jù)結(jié)構(gòu)以及提高應(yīng)用程序性能,還講述了如何管理高級(jí)腳本和數(shù)據(jù)庫以及如何確定和改正腳本錯(cuò)誤。
本書提供了快速創(chuàng)建和部署數(shù)據(jù)驅(qū)動(dòng)的解決方案來滿足業(yè)務(wù)需求的信息,介紹了新數(shù)據(jù)類型、索引結(jié)構(gòu)、管理功能和高級(jí)時(shí)區(qū)處理等重要內(nèi)容,掌握這些知識(shí)后,您將使自己的數(shù)據(jù)庫發(fā)揮㈩最大功效。
主要內(nèi)容:
◆除規(guī)范化外的數(shù)據(jù)設(shè)計(jì)技巧
◆盡量提高應(yīng)用程序運(yùn)行速度的方法
◆有關(guān)存儲(chǔ)過程和用戶定義函數(shù)的全部內(nèi)容
◆存儲(chǔ)過程的高級(jí)處理方法
◆報(bào)表服務(wù)和集成服務(wù)的用法
◆提高數(shù)據(jù)庫安全性的提示信息
◆如何利用XML和XQuery支持
◆通過修改特定數(shù)據(jù)值進(jìn)行推理分析的步驟
目錄:
第1章 回顧SQLServer中的對(duì)象
1.1 數(shù)據(jù)庫的構(gòu)成
1.2 數(shù)據(jù)庫對(duì)象概述
1.2.1 數(shù)據(jù)庫對(duì)象
1.2.2 事務(wù)日志
1.2.3 最基本的數(shù)據(jù)庫對(duì)象:表
1.2.4 模式
1.2.5 文件組
1.2.6 圖表
1.2.7 視圖
1.2.8 存儲(chǔ)過程
1.2.9 用戶自定義函數(shù)
1.2.10 用戶和角色
1.2.11 規(guī)則
1.2.12 默認(rèn)值
1.2.13 用戶自定義數(shù)據(jù)類型
1.2.14 全文目錄
1.3 SQLServer數(shù)據(jù)類型
1.4 SQLserver對(duì)象標(biāo)識(shí)符
1.4.1 需要命名的對(duì)象
1.4.2 命名規(guī)則
1.5 小結(jié)
第2章 工具
2.1 聯(lián)機(jī)叢書
2.2 SQLServer配置管理器
2.2.1 服務(wù)管理
2.2.2 網(wǎng)絡(luò)配置
2.2.3 協(xié)議
2.2.4 客戶端配置
2.3 SQLServerMaliagementStudi0
2.3.1 啟動(dòng)Managemenc Studio
2.3.2 查詢編輯器
2.4 SQLServerBusillessIntelligence DeveloplhentStudio
2.5 SQLserver集成服務(wù)(SsIs)
2.6 R.epOningSerVices
2.7 BulkCopyPrograml(bcp)
2.8 SQLServerProfiler
2.9 sqlcmd
2.10 小結(jié)
第3章 提出更好的問題:高級(jí)查詢
3.1 子查詢概述
3.2 構(gòu)建嵌套子查詢
3.2.1 使用單值SELECT語句的嵌套查詢
3.2.2 使用返回多個(gè)值的子查詢的嵌套查詢
3.2.3 ANY、SOME和ALL運(yùn)算符
3.3 相關(guān)子查詢
3.3.1 相關(guān)子查詢的工作方式
3.3.2 WHERE子句中的相關(guān)子查詢
3.3.3 SELECT列表中的相關(guān)子查詢
3.4 派生表
3.5 EⅪSTS運(yùn)算符
3.6 INTERSECT和EXCEPT運(yùn)算符
3.6.1 EXCEPT
3.6.2 INTERSECT
3.6.3 比較EXCEPT和INTERSECT與相應(yīng)的EⅪSTS和NOTExISTS語句
3.7 通用表表達(dá)式(CTE)
3.8 遞歸查詢
3.9 合并
3.10 利用外部調(diào)用完成復(fù)雜操作
3.11 性能考慮
3.12 小結(jié)
第4章 XML集成
4.1 XML數(shù)據(jù)類型
4.1.1 定義XML數(shù)據(jù)類型的列
4.1.2 XML模式集合
4.1.3 創(chuàng)建、修改和刪除Ⅺ兒模式集合
4.1.4 XML數(shù)據(jù)類型方法
4.1.5 施加超出模式集合范圍的約束
4.2 提取XML格式的關(guān)系數(shù)據(jù)
4.2.1 FORXML子句
4.2.2 OPENXML
4.3 有關(guān)XML索引的提示
4.4 層次數(shù)據(jù)概述
4.5 小結(jié)
第5章 細(xì)心推敲,大膽設(shè)計(jì)
5.1 進(jìn)一步了解規(guī)范化
5.1.1 入手點(diǎn)
5.1.2 達(dá)到第三范式
5.1.3 其他的規(guī)范形式
5.2 關(guān)系
5.3 圖表
5.3.1 幾種關(guān)系類型
5.3.2 實(shí)體框
5.3.3 關(guān)系線
5.3.4 終止符
5.4 邏輯設(shè)計(jì)與物理設(shè)計(jì)
5.4.1 邏輯模型的用途
5.4.2 邏輯模型的組成
5.5 通過經(jīng)典的BLOB處理基于文件的信息
5.6 子類別
5.6.1 子類別的類型
5.6.2 明確概念——實(shí)現(xiàn)子類別
5.6.3 子類別的物理實(shí)現(xiàn)
5.6.4 通過子類別增加可擴(kuò)展性
5.7 數(shù)據(jù)庫重用
5.7.1 可重用數(shù)據(jù)庫的候選
5.7.2 如何分解事物
5.7.3 可重用性的高昂代價(jià)
5.8 反規(guī)范化
5.9 通過分區(qū)方法進(jìn)行擴(kuò)展
5.10 SQLServer關(guān)系圖工具
5.10.1 表
5.10.2 處理約束
5.11 關(guān)于日期列
5.12 小結(jié)
第6章 核心存儲(chǔ)和索引結(jié)構(gòu)
6.1 SQLserer存儲(chǔ)
6.1.1 數(shù)據(jù)庫
6.1.2 文件
6.1.3 區(qū)段
6.1.4 頁
6.1.5 行
6.1.6 全文目錄
6.1.7 文件流
6.2 理解索引
6.2.1 “B”還是非“B”:B樹
6.2.2 如何在SQLServer中訪問數(shù)據(jù)
6.2.3 索引類型和索引導(dǎo)航
6.3 創(chuàng)建、修改和刪除索引
6.3.1 CREATEINDEX語句
6.3.2 隨約束隱含創(chuàng)建的索引
6.3.3 ALTERINDEX
6.3.4 DROPINDEX
6.4 明智地決定何時(shí)何地使用何種索引
6.4.1 選擇性
6.4.2 注意代價(jià)
6.4.3 選擇聚集索引
6.4.4 列排序問題
6.4.5 刪除索引
6.4.6 使用數(shù)據(jù)庫引擎優(yōu)化顧問
6.5 維護(hù)索引
6.5.1 碎片
6.5.2 檢測碎片
6.6 小結(jié)
第7章 更高級(jí)的索引結(jié)構(gòu)
7.1 XML索引
7.1.1 主XML索引
7.1.2 輔助XML索引
7.1.3創(chuàng)建XML索引
7.2 用戶定義的數(shù)據(jù)類型
7.2.1 經(jīng)典UDT
7.2.2 NETUDT
7.2.3 表格式UDT
7.2.4 刪除用戶定義的類型
7.3 層次數(shù)據(jù)
7.3.1 理解深度與輸出
7.3.2 HifffarchyID類型結(jié)構(gòu)
7.3.3 處理HierarchyID值——HicrarchyID方法
7.3.4 索引層次數(shù)據(jù)
7.3.5 性能考慮
7.4 空間數(shù)據(jù)
7.4.1 空間概念
7.4.2 平面數(shù)據(jù)描述的實(shí)現(xiàn)GEOME FRY數(shù)據(jù)類型
7.4.3 測量數(shù)據(jù)描述的實(shí)現(xiàn)GEOGRAPHY類型
7.5 文件流
7.6 啟用文件流
7.6.1 為數(shù)據(jù)庫啟用文件流
7.6.2 創(chuàng)建一個(gè)啟用文件流的表
7.6.3 在T.SQL中使用文件流
7.6.4 在.NET中使用文件流
7.7 表壓縮
7.8 小結(jié)
第8章 視圖
8.1 回顧視圖語法
8.2 更復(fù)雜的視圖
8.3 使用T.SQL編輯視圖
8.4 刪除視圖
8.5 審核:顯示現(xiàn)有代碼
8.6 保護(hù)代碼:加密視圖
8.7 關(guān)于模式綁定
8.8 使用VIEwMETADAIIA使自己的視圖看起來像一個(gè)表
8.9 索引(物化)視圖
8.10 分區(qū)視圖
8.11 小結(jié)
第9章 腳本和批處理
9.1 腳本的基本概念
9.2 批處理
9.2.1 批處理錯(cuò)誤
9.2.2 使用批處理的時(shí)機(jī)
9.3 SQLCMD
9.4 動(dòng)態(tài)SQL:使用ExEc命令生成即時(shí)代碼
9.5 流控制語句
9.5.1 IFELSE語句
9.5.2 CASE語句
9.5.3 使用wHlLE語句進(jìn)行循環(huán)
9.5.4 WArITOR語句
9.5.5 TRY/CATCH塊
9.6 小結(jié)
第10章 高級(jí)編程
10.1 細(xì)看存儲(chǔ)過程
10.1.1 輸出參數(shù)
10.1.2 處理錯(cuò)誤
10.2 表值參數(shù)(TVP)
10.3 調(diào)試
10.3.1 啟動(dòng)調(diào)試器
10.3.2 調(diào)試器的組件
10.3.3 啟動(dòng)后使用調(diào)試器
10.4 理解SQLCLR及SQLserver中的.NET編程
10.4.1 程序簡介
10.4.2 編譯程序集
10.4.3 將程序集上載到SQL Server上
10.4.4 創(chuàng)建基于程序集的存儲(chǔ)過程
10.4.5 從程序集創(chuàng)建標(biāo)量用戶定義函數(shù)
10.4.6 創(chuàng)建表值函數(shù)
10.5 創(chuàng)建聚集函數(shù)
10.6 自定義數(shù)據(jù)類型
10.6.1 從程序集創(chuàng)建自己的數(shù)據(jù)類型
10.6.2 訪問復(fù)雜數(shù)據(jù)類型
10.6.3 刪除數(shù)據(jù)類型
10.7 小結(jié)
第11章 事務(wù)和鎖
11.1 事務(wù)
11.1.1 BEGINTTRAN
11.1.2 COMMMTTRAN
11.1.3 ROLLBACKTRAN
11.1.4 SAVETRAN
11.2 SQLServer日志的工作方式
11.2.1 使用CHECKPOINT命令
11.2.2 在服務(wù)器正常關(guān)機(jī)時(shí)執(zhí)行
11.2.3 在更改數(shù)據(jù)庫時(shí)執(zhí)行
11.2.4 在啟用TrtmcateonCheckpoint選項(xiàng)時(shí)執(zhí)行
11.2.5 在恢復(fù)時(shí)間超過設(shè)置的恢復(fù)間隔時(shí)執(zhí)行
11.2.6 失敗與恢復(fù)
11.2.7 隱式事務(wù)
11.3 鎖和并發(fā)
11.3.1 通過鎖可以防止的問題
11.3.2 可鎖的資源
11.3.3 鎖升級(jí)以及鎖對(duì)性能的影響
11.3.4 鎖模式
11.3.5 鎖的兼容性
11.3.6 指定特定的鎖類型——優(yōu)化器提示
11.4 設(shè)置隔離級(jí)別
11.4.1 RPLAIDCOMMIllED
11.4.2 READUNCOMMITTED
11.4.3 REPEATABLEREAD
11.4.4 SERIALIZABLE
11.4.5 SNAPSHOT
11.5 處理死鎖(也稱作“A1205”)
11.5.1 SQLServer判斷死鎖的方式
11.5.2 如何選擇死鎖犧牲品
11.5.3 避免死鎖
11.6 小結(jié)
第12章 觸發(fā)器
12.1 觸發(fā)器的含義
12.1.1 0N
12.1.2 WITHENCRYPTl0N
12.1.3 FORlAFTER與INSTEAD0F子句
12.1.4 WITHAPPEND
12.1.5 NOTFORREPLICATl0N
12.1.6 AS
12.2 為數(shù)據(jù)完整性規(guī)則使用觸發(fā)器
12.2.1 處理源自其他表的要求
12.2.2 使用觸發(fā)器檢查更新的差異
12.2.3 使用觸發(fā)器實(shí)現(xiàn)自定義錯(cuò)誤消息
12.3 觸發(fā)器的其他常見用途
12.3.1 更新摘要信息
12.3.2 向反規(guī)范化的表輸入數(shù)據(jù)以用于報(bào)告
12.3.3 設(shè)置條件標(biāo)志
12.4 其他觸發(fā)器問題
12.4.1 嵌套觸發(fā)器
12.4.2 遞歸觸發(fā)器
12.4.3 觸發(fā)器調(diào)試
12.4.4 觸發(fā)器不妨礙架構(gòu)的修改
12.4.5 不必刪除就可以禁用觸發(fā)器
12.4.6 觸發(fā)器的觸發(fā)順序
12.5 INSTEAD0F觸發(fā)器
……
第13章 SQL游標(biāo)
第14章 Reporting Services
第15章 bcp和其他基本的大容量操作
第16章 開始集成
第17章 復(fù)制
第18章 全文搜索
第19章 安全性
第20章 設(shè)計(jì)性能卓越的數(shù)據(jù)庫
第21章 性能優(yōu)化工具
第22章 管理
第23章 SMO.SQL管理對(duì)象
第24章 數(shù)據(jù)倉庫
第25章 保證良好的連接性
附錄A 系統(tǒng)函數(shù)
附錄B 分析元數(shù)據(jù)
附錄C 基礎(chǔ)知識(shí)