搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
SQL Server 2008高级程序设计
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302222729
  • 作      者:
    (美)Robert Vieira著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2010
收藏
作者简介
  维埃拉(Robert Vieira),当1978年的计算机热潮席卷而来时,Robert Vieira对计算机技术萌生了浓厚兴趣。他从1983年开始攻读计算机信息系统学位,于1985年后期涉足自己钟爱的“计算机程序故障”领域,于1990年获得商业管理学位。丰富的商业知识和计算知识为保障他的事业取得成功奠定了坚实基础。获得学士学位后,他又相继获得CMA、MCSD、MCT、MCDBA以及EMT等认证。
  Robert目前担任Huron Consulting Group的Stockamp公司的数据库团队领导,迄今已出版了6本有关SQL Server开发的书籍。
展开
内容介绍
  Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。
  本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和改正脚本错误。
  本书提供了快速创建和部署数据驱动的解决方案来满足业务需求的信息,介绍了新数据类型、索引结构、管理功能和高级时区处理等重要内容,掌握这些知识后,您将使自己的数据库发挥㈩最大功效。
  主要内容
  ◆除规范化外的数据设计技巧
  ◆尽量提高应用程序运行速度的方法
  ◆有关存储过程和用户定义函数的全部内容
  ◆存储过程的高级处理方法
  ◆报表服务和集成服务的用法
  ◆提高数据库安全性的提示信息
  ◆如何利用XML和XQuery支持
  ◆通过修改特定数据值进行推理分析的步骤
  读者对象
  本书面向想要学用所有SQL Server 2008功能的有经验的开发人员。
展开
精彩书摘
  除了这个最基本的应用之外,还可以创建所谓的索引视图(indexed view)。索引视图除了针对视图创建索引之外,别的与其他视图相同。这一点对使用性能有一定影响(包括正面影响和负面影响):
  ·对于引用多个表的视图来说,执行索引视图会快很多,因为它预先构造了表之间的联结。
  ·视图中执行的聚合(aggregation)是预先计算好,并作为索引的一部分存储;因此聚合只要执行一次(在插入或更新行时),然后就可从索引信息中直接读入。
  ·由于视图上的索引必须及时更新,因此插入和删除需要更多的系统开销;如果更新影响索引的键列,则更新还需要更大的系统开销。
  本书第8章将深入探讨这些性能问题以及视图的其他特殊用途。
  提示:
  尽管创建索引视图的代码在所有版本中都能起作用,但只有在企业版中使用时,查询优化器才考虑它。
  1.2.8 存储过程
  存储过程(或sprocs)是SQL Server编程功能的基础。存储过程通常是组成一个逻辑单元的Transact-SQL(用于查询Microsoft SQL Server的语言)语句的有序集合。存储过程允许使用变量和参数,也可使用选择和循环结构。与发送单条语句到服务器相比,使用存储过程具有以下几个优点:
  ·调用存储过程不使用长文本串而使用短存储过程名,可减少运行存储过程中的代码所要的网络流量。
  ·预先优化和预编译,能将存储过程每次运行的时间缩短一点。
  ·通常考虑安全原因,或仅仅是简化数据库的复杂性,将过程封装。
  ·可从其他存储过程调用,使得它们在一定意义上重用。
  此外,可利用任何.NET语言创建程序集,并向存储过程中添加T-SQL之外的程序结构。
展开
目录
第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 基础知识
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证