第1章 迴顧SQL Server中的對象
1.1 本書提供什麼
1.2 數據庫對象概覽
1.2.1 數據庫對象
1.2.2 事務日誌
1.2.3 最基本的數據庫對象:錶
1.2.4 模式
1.2.5 文件組
1.2.6 關係圖
1.2.7 視圖
1.2.8 存儲過程
1.2.9 用戶定義函數
1.2.10 用戶和角色
1.2.11 規則
1.2.12 默認值
1.2.13 用戶定義數據類型
1.2.14 全文目錄
1.3 SQL Server數據類型
1.4 SQL Server對象標識符
1.4.1 對什麼命名
1.4.2 命名規則
1.5 小結
第2章 工具
2.1 聯機叢書
2.2 SQL Server配置管理器
2.2.1 服務管理
2.2.2 網絡配置
2.2.3 協議
2.2.4 客戶端配置
2.3 SQL Server Management Studio
2.3.1 啓動
2.3.2 查詢窗口
2.4 SQL Server Business Intelligence Development Studio
2.5 SQL Server Integration Services(SSIS)
2.6 Reporting Services
2.7 大容量復製程序
2.8 SQL Server Profiler
2.9 sqlcmd
2.10 小結
第3章 T-SQL基礎
3.1 基本的SELECT語句
3.1.1 SELECT語句和FROM子句
3.1.2 JOIN子句
3.1.3 WHERE子句
3.1.4 ORDER BY
3.1.5 使用GROUP BY子句聚集數據
3.1.6 使用HAVING子句在組上放置條件
3.1.7 使用FOR XML子句進行XML輸齣
3.1.8 使用OPTION子句指定提示
3.1.9 DISTINCT
3.2 用INSERT語句添加數據
3.3 通過UPDATE語句更改現有的數據
3.4 DELETE語句
3.5 替代的聯結語法
3.5.1 替代的INNER JOIN
3.5.2 替代的OUTER JOIN
3.5.3 替代的CROSS JOIN
3.6 UNION
3.7 小結
第4章 創建和修改錶
4.1 SQL Server中的對象名
4.1.1 模式名(又名:所有權)
4.1.2 數據庫名
4.1.3 按照服務器命名
4.2 CREATE語句
4.2.1 CREATE DATABASE
4.2.2 CREATE TABLE
4.3 ALTER語句
4.3.1 ALTER DATABASE
4.3.2 ALTER TABLE
4.4 DROP語句
4.5 使用GUI工具
4.5.1 創建或編輯數據庫
4.5.2 創建和編輯錶
4.6 小結
第5章 迴顧鍵和約束
5.1 約束的類型
5.1.1 域約束
5.1.2 實體約束
5.1.3 引用完整性約束
5.2 約束的命名
5.3 鍵約束
5.3.1 主鍵約束
5.3.2 外鍵約束
5.3.3 UNIQUE約束
5.4 CHECK約束
5.5 DEFAULT約束
5.5.1 在CREATE TABLE語句中定義DEFAULT約束
5.5.2 在現有的錶上添加DEFAULT約束
5.6 禁用約束
5.6.1 創建約束時忽略不正確的數據
5.6.2 臨時禁用現有的約束
5.7 規則和默認值:約束的同類
5.7.1 規則
5.7.2 默認值
5.7.3 確定哪個錶或數據類型上使用瞭指定的規則或默認值
5.8 保證數據完整性的觸發器
5.9 選擇應用使用什麼
5.10 小結
第6章 更深入的問題:高級查詢
6.1 什麼是子查詢
6.2 構建嵌套的子查詢
6.2.1 使用單值SELECT語句的嵌套查詢
6.2.2 使用返迴多個值的子查詢的嵌套查詢
6.2.3 ANY、SOME和ALL運算符
6.3 相關子查詢
6.3.1 相關子查詢如何工作
6.3.2 WHERE子句中的相關子查詢
6.3.3 SELECT列錶中的相關子查詢
6.4 派生錶
6.5 EXISTS運算符
6.6 混閤數據類型:CAST和CONVERT
6.7 使用外部調用執行復雜的操作
6.8 性能考慮
6.9 小結
第7章 挑戰設計
7.1 規範化迴顧
7.1.1 從何處入手
7.1.2 達到第三範式
7.1.3 其他規範形式
7.2 關係
7.3 關係圖
7.3.1 幾種關係類型
7.3.2 實體框
7.3.3 關係綫
7.3.4 終結器
7.4 邏輯設計和物理設計
7.4.1 邏輯模型的用途
7.4.2 邏輯模型的組成部分
7.5 處理基於文件的信息
7.6 子類彆
7.6.1 子類彆的類型
7.6.2 明瞭什麼是什麼——實現子類彆
7.6.3 子類彆的物理實現
7.6.4 通過子類彆增加可擴展性
7.7 數據庫重用
7.7.1 可重用數據庫的候選
7.7.2 如何分解事物
7.7.3 可重用性的高昂代價
7.8 非規範化
7.9 為可伸縮性進行分區
7.10 SQL Server關係圖工具
7.10.1 錶
7.10.2 處理約束
7.11 小結
第8章 SQL Server——存儲和索引結構
8.1 SQL Server存儲
8.1.1 數據庫
8.1.2 文件
8.1.3 區段
8.1.4 頁
8.1.5 行
8.1.6 全文目錄
8.2 理解索引
8.2.1 “B”還是非“B”:B樹
8.2.2 在SQL Server中如何訪問數據
8.2.3 索引類型和索引導航
8.3 創建、修改和刪除索引
8.3.1 CREATE INDEX語句
8.3.2 創建XML索引
8.3.3 隨約束隱含創建的索引
8.3.4 ALTER INDEX
8.3.5 DROP INDEX
8.4 明智地選擇:決定何時何地使用何種索引
8.4.1 選擇性
8.4.2 注意代價:當少變成多時
8.4.3 選擇聚集索引
8.4.4 列順序問題
8.4.5 刪除索引
8.4.6 使用數據庫引擎優化顧問
8.5 維護索引
8.5.1 碎片
8.5.2 檢測碎片
8.6 小結
第9章 視圖
9.1 簡單視圖
9.2 更復雜的視圖
9.3 使用T-SQL編輯視圖
9.4 刪除視圖
9.5 審查:顯示已有的代碼
9.6 保護代碼:加密視圖
9.7 關於模式綁定
9.8 使用VIEW_METADATA讓視圖看起來像一個錶
9.9 索引(具體化)視圖
9.10 分區視圖
9.11 小結
第10章 腳本和批處理
10.1 腳本基礎
10.1.1 USE語句
10.1.2 聲明變量
10.1.3 使用@@ IDENTITY
10.1.4 使用@@ ROWCOUNT
10.2 批處理
10.2.1 批處理中的錯誤
10.2.2 何時使用批處理
10.3 SQLCMD
10.4 動態SQL:使用EXE命令生成代碼
10.5 流控製語句
10.5.1 IF...ELSE語句
10.5.2 ELSE子句
10.5.3 CASE語句
10.5.4 使用WHILE語句進行循環
10.5.5 WAITFOR語句
10.5.6 TRY/CATCH塊
10.6 小結
第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
· · · · · · (
收起)