简单介绍
Microsoft sql server 2008 数据库极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。相对应于之前版本(2000、20005)等版本做了重大升级,不管是核心数据库引擎还是易用性上都做出了不小的改变。
通过《SQL Server 2008高级程序设计》能让我们熟练运用一系列日趋复杂的功能,助您更高效地管理数据。
本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和改正脚本错误。
本书提供了快速创建和部署数据驱动的解决方案来满足业务需求的信息,介绍了新数据类型、索引结构、管理功能和高级时区处理等重要内容,掌握这些知识后,您将使自己的数据库发挥㈩最大功效。
中文PDF下载
图书目录
第1章 回顾SQLServer中的对象
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 SQLServer数据类型
1.4 SQLserver对象标识符
1.4.1 需要命名的对象
1.4.2 命名规则
1.5 小结
第2章 工具
2.1 联机丛书
2.2 SQLServer配置管理器
2.2.1 服务管理
2.2.2 网络配置
2.2.3 协议
2.2.4 客户端配置
2.3 SQLServerMaliagementStudi0
2.3.1 启动Managemenc Studio
2.3.2 查询编辑器
2.4 SQLServerBusillessIntelligence DeveloplhentStudio
2.5 SQLserver集成服务(SsIs)
2.6 R.epOningSerVices
2.7 BulkCopyPrograml(bcp)
2.8 SQLServerProfiler
2.9 sqlcmd
2.10 小结
第3章 提出更好的问题:高级查询
3.1 子查询概述
3.2 构建嵌套子查询
3.2.1 使用单值SELECT语句的嵌套查询
3.2.2 使用返回多个值的子查询的嵌套查询
3.2.3 ANY、SOME和ALL运算符
3.3 相关子查询
3.3.1 相关子查询的工作方式
3.3.2 WHERE子句中的相关子查询
3.3.3 SELECT列表中的相关子查询
3.4 派生表
3.5 EⅪSTS运算符
3.6 INTERSECT和EXCEPT运算符
3.6.1 EXCEPT
3.6.2 INTERSECT
3.6.3 比较EXCEPT和INTERSECT与相应的EⅪSTS和NOTExISTS语句
3.7 通用表表达式(CTE)
3.8 递归查询
3.9 合并
3.10 利用外部调用完成复杂操作
3.11 性能考虑
3.12 小结
第4章 XML集成
4.1 XML数据类型
4.1.1 定义XML数据类型的列
4.1.2 XML模式集合
4.1.3 创建、修改和删除Ⅺ儿模式集合
4.1.4 XML数据类型方法
4.1.5 施加超出模式集合范围的约束
4.2 提取XML格式的关系数据
4.2.1 FORXML子句
4.2.2 OPENXML
4.3 有关XML索引的提示
4.4 层次数据概述
4.5 小结
第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 关系线
5.3.4 终止符
5.4 逻辑设计与物理设计
5.4.1 逻辑模型的用途
5.4.2 逻辑模型的组成
5.5 通过经典的BLOB处理基于文件的信息
5.6 子类别
5.6.1 子类别的类型
5.6.2 明确概念——实现子类别
5.6.3 子类别的物理实现
5.6.4 通过子类别增加可扩展性
5.7 数据库重用
5.7.1 可重用数据库的候选
5.7.2 如何分解事物
5.7.3 可重用性的高昂代价
5.8 反规范化
5.9 通过分区方法进行扩展
5.10 SQLServer关系图工具
5.10.1 表
5.10.2 处理约束
5.11 关于日期列
5.12 小结
第6章 核心存储和索引结构
6.1 SQLserer存储
6.1.1 数据库
6.1.2 文件
6.1.3 区段
6.1.4 页
6.1.5 行
6.1.6 全文目录
6.1.7 文件流
6.2 理解索引
6.2.1 “B”还是非“B”:B树
6.2.2 如何在SQLServer中访问数据
6.2.3 索引类型和索引导航
6.3 创建、修改和删除索引
6.3.1 CREATEINDEX语句
6.3.2 随约束隐含创建的索引
6.3.3 ALTERINDEX
6.3.4 DROPINDEX
6.4 明智地决定何时何地使用何种索引
6.4.1 选择性
6.4.2 注意代价
6.4.3 选择聚集索引
6.4.4 列排序问题
6.4.5 删除索引
6.4.6 使用数据库引擎优化顾问
6.5 维护索引
6.5.1 碎片
6.5.2 检测碎片
6.6 小结
第7章 更高级的索引结构
7.1 XML索引
7.1.1 主XML索引
7.1.2 辅助XML索引
7.1.3创建XML索引
7.2 用户定义的数据类型
7.2.1 经典UDT
7.2.2 NETUDT
7.2.3 表格式UDT
7.2.4 删除用户定义的类型
7.3 层次数据
7.3.1 理解深度与输出
7.3.2 HifffarchyID类型结构
7.3.3 处理HierarchyID值——HicrarchyID方法
7.3.4 索引层次数据
7.3.5 性能考虑
7.4 空间数据
7.4.1 空间概念
7.4.2 平面数据描述的实现GEOME FRY数据类型
7.4.3 测量数据描述的实现GEOGRAPHY类型
7.5 文件流
7.6 启用文件流
7.6.1 为数据库启用文件流
7.6.2 创建一个启用文件流的表
7.6.3 在T.SQL中使用文件流
7.6.4 在.NET中使用文件流
7.7 表压缩
7.8 小结
第8章 视图
8.1 回顾视图语法
8.2 更复杂的视图
8.3 使用T.SQL编辑视图
8.4 删除视图
8.5 审核:显示现有代码
8.6 保护代码:加密视图
8.7 关于模式绑定
8.8 使用VIEwMETADAIIA使自己的视图看起来像一个表
8.9 索引(物化)视图
8.10 分区视图
8.11 小结
第9章 脚本和批处理
9.1 脚本的基本概念
9.2 批处理
9.2.1 批处理错误
9.2.2 使用批处理的时机
9.3 SQLCMD
9.4 动态SQL:使用ExEc命令生成即时代码
9.5 流控制语句
9.5.1 IFELSE语句
9.5.2 CASE语句
9.5.3 使用wHlLE语句进行循环
9.5.4 WArITOR语句
9.5.5 TRY/CATCH块
9.6 小结
第10章 高级编程
10.1 细看存储过程
10.1.1 输出参数
10.1.2 处理错误
10.2 表值参数(TVP)
10.3 调试
10.3.1 启动调试器
10.3.2 调试器的组件
10.3.3 启动后使用调试器
10.4 理解SQLCLR及SQLserver中的.NET编程
10.4.1 程序简介
10.4.2 编译程序集
10.4.3 将程序集上载到SQL Server上
10.4.4 创建基于程序集的存储过程
10.4.5 从程序集创建标量用户定义函数
10.4.6 创建表值函数
10.5 创建聚集函数
10.6 自定义数据类型
10.6.1 从程序集创建自己的数据类型
10.6.2 访问复杂数据类型
10.6.3 删除数据类型
10.7 小结
第11章 事务和锁
11.1 事务
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 在服务器正常关机时执行
11.2.3 在更改数据库时执行
11.2.4 在启用TrtmcateonCheckpoint选项时执行
11.2.5 在恢复时间超过设置的恢复间隔时执行
11.2.6 失败与恢复
11.2.7 隐式事务
11.3 锁和并发
11.3.1 通过锁可以防止的问题
11.3.2 可锁的资源
11.3.3 锁升级以及锁对性能的影响
11.3.4 锁模式
11.3.5 锁的兼容性
11.3.6 指定特定的锁类型——优化器提示
11.4 设置隔离级别
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 小结
第12章 触发器
12.1 触发器的含义
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 为数据完整性规则使用触发器
12.2.1 处理源自其他表的要求
12.2.2 使用触发器检查更新的差异
12.2.3 使用触发器实现自定义错误消息
12.3 触发器的其他常见用途
12.3.1 更新摘要信息
12.3.2 向反规范化的表输入数据以用于报告
12.3.3 设置条件标志
12.4 其他触发器问题
12.4.1 嵌套触发器
12.4.2 递归触发器
12.4.3 触发器调试
12.4.4 触发器不妨碍架构的修改
12.4.5 不必删除就可以禁用触发器
12.4.6 触发器的触发顺序
12.5 INSTEAD0F触发器
……
第13章 SQL游标
第14章 Reporting Services
第15章 bcp和其他基本的大容量操作
第16章 开始集成
第17章 复制
第18章 全文搜索
第19章 安全性
第20章 设计性能卓越的数据库
第21章 性能优化工具
第22章 管理
第23章 SMO.SQL管理对象
第24章 数据仓库
第25章 保证良好的连接性
附录A 系统函数
附录B 分析元数据
附录C 基础知识
发布者:柚子,转转请注明出处:https://ityouzi.com/archives/sql-server-2008-ch-pdf.html