SQL Server 2008编程入门经典第3版


SQL Server 2008编程入门经典第3版

文章插图
SQL Server 2008编程入门经典第3版【SQL Server 2008编程入门经典第3版】《SQL Server 2008编程入门经典第3版》是2012年清华大学出版社出版的图书,作者是孙皓 。
基本介绍书名:SQL Server 2008编程入门经典(第3版)
作者:孙皓
ISBN:9787302214328
定价:69.8元
出版社:清华大学出版社
出版时间:2012年
装帧:平装
内容简介本书由浅入深逐步介绍了SQLServer资料库的高级主题,重点讨论了SQLServer2008的特殊功能以及与其他编程环境的不同之处 。作者RobertVieria是MicrosoftSQLServer方面的权威,他採用通俗易懂的方法揭示了SQLServer2008核心组件的重要更改 。本书首先概述了资料库设计的概念,介绍了如何用SQLServer2008实现这些基本概念 。然后,讲述了RDBMS(关係资料库管理系统)的功能和它在开发系统架构方面的优势 。SQLServer2008的新增内容和更改包括:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,以及递归查询等 。本书旨在帮助您快速地掌握MicrosoftSQLServer2008的编程技术 。目录第1章RDBMS基础:SQLServer资料库的构成 11.1资料库对象概述 11.1.1资料库对象 21.1.2事务日誌 61.1.3最基本的资料库对象:表 61.1.4档案组 81.1.5资料库关係图 81.1.6视图 91.1.7存储过程 101.1.8用户自定义函式 101.1.9用户和角色 101.1.10规则 101.1.11默认值 111.1.12用户自定义数据类型 111.1.13全文目录 111.2SQLServer数据类型 111.3SQLServer对象标识符 161.3.1需要命名的对象 161.3.2命名规则 171.4本章小结 17第2章SQLServer管理工具 182.1在线上丛书 182.2SQLServer配置管理器 192.2.1服务管理 202.2.2网路配置 202.2.3协定 212.2.4客户端 232.3SQLServerManagementStudio 252.3.1启动ManagementStudio 252.3.2“查询”视窗 282.4SQLServer集成服务(SSIS) 322.5BulkCopyProgram(bcp) 332.6SQLServerProfiler 332.7sqlcmd 342.8PowerShell 342.9本章小结 34第3章T-SQL基本语句 353.1基本SELECT语句 363.1.1SELECT语句与FROM子句 363.1.2WHERE子句 393.1.3ORDERBY子句 423.1.4使用GROUPBY子句聚合数据 443.1.5使用HAVING子句给分组设定条件 523.1.6使用FORXML子句输出XML 533.1.7通过OPTION子句利用提示 543.1.8DISTINCT和ALL谓词 543.2使用INSERT语句添加数据 563.2.1多行插入 603.2.2INSERTINTO…SELECT语句 613.3用UPDATE语句更改数据 633.4DELETE语句 653.5本章小结 663.6练习 66第4章连线 674.1连线 674.2内部连线 694.3外部连线 754.3.1简单的外部连线 764.3.2处理更複杂的外部连线 814.4完全连线 854.5交叉连线 864.6JOIN语句的早期语法结构 874.6.1内部连线的早期语法结构 884.6.2外部连线的早期语法结构 884.6.3交叉连线的早期语法结构 894.7联合 904.8本章小结 944.9练习 94第5章创建和修改数据表 955.1SQLServer中的对象名 955.1.1模式名 955.1.2资料库名 985.1.3通过伺服器命名 985.1.4回顾默认值 985.5使用GUI工具 1235.5.1使用ManagementStudio创建资料库 1235.5.2回到代码:使用ManagementStudio创建脚本的基础知识 1275.6本章小结 1285.7练习 128第6章约束 1296.1约束的类型 1306.1.1域约束 1306.1.2实体约束 1306.1.3参照完整性约束 1316.2约束命名 1316.3键约束 1326.3.1主键约束 1326.3.2外键约束 1346.3.3唯一约束 1446.5.2在已存在的表中添加DEFAULT约束 1486.6禁用约束 1486.6.1在创建约束时忽略无效的数据 1486.6.2临时禁用已存在的约束 1506.7规则和默认值 1526.7.1规则 1526.7.2默认值 1546.7.3确定哪个表和数据类型使用给定的规则或默认值 1546.8用于实现数据完整性的触发器 1556.9如何选择 1556.10本章小结 156 第7章更複杂的查询 1577.1子查询的概念 1587.2关联子查询 1617.2.1关联子查询的工作原理 1627.2.2在WHERE子句中的关联子查询 1627.2.3处理NULL数据——ISNULL函式 1657.3派生表 1667.4EXISTS运算符 1687.5混合数据类型:7.7性能方面的考虑 1807.8本章小结 1817.9练习 181第8章规範化和其他基本设计问题 1828.1表 1828.2保持数据“规範” 1938.2.1準备工作 1848.2.2第一範式 1858.2.3第二範式 1888.2.4第三範式 1898.2.5其他範式 1918.3关係 1928.3.1一对一关係 1928.3.2一对一或一对多关係 1938.3.3多对多关係 1958.4资料库关係图 1988.4.1表 2008.4.2添加和删除表 2008.4.3关係 2058.5反规範化 2078.6超出规範化的一些规则 2088.6.1保持简单 2088.6.2选择数据类型 2088.6.3儘量进行存储 2098.7创建一个快速示例 2098.7.1创建资料库 2098.7.2添加资料库关係图和初始表 2108.7.3添加关係 2138.7.4添加一些约束 2158.8本章小结 2168.9练习 216第9章SQLServer存储和索引结构 2179.1SQLServer存储机制 2179.1.1资料库 2179.1.2区段 2189.1.3页 2189.1.4行 2199.1.5稀疏列 2199.2理解索引 2199.2.1平衡树(B-树) 2209.2.2SQLServer中访问数据的方式 2239.3创建、修改和删除索引 2309.3.1CREATEINDEX语句 2309.3.2创建XML索引 2349.3.3随约束创建的隐含索引 2359.3.4在稀疏列和地理空间列上创建索引 2369.4明智地选择——在何时何地使用何种索引 2369.4.1选择性 2369.4.2注意成本 2369.4.3选择群集索引 2379.4.4列顺序问题 2399.4.5修改索引 2399.4.6删除索引 2419.4.7从查询计画中获取提示 2429.4.8使用资料库引擎调整嚮导 2429.5维护索引 2429.5.1碎片 242 9.5.2确定碎片和页拆分的可能性 2439.6本章小结 2469.7练习 247第10章视图 24810.1简单的视图 24810.2更加複杂的视图 25310.3使用T-SQL编辑视图 25910.4删除视图 26010.5在ManagementStudio中创建和编辑视图 26010.6审查:显示现有的代码 26310.7保护代码:加密视图 26410.8关于模式绑定 26510.9使用VIEW_METADATA使视图看起来像表一样 26610.10索引(物化)视图 26610.11本章小结 26810.12练习 269第11章编写脚本和批处理 27011.1脚本的基础知识 27011.1.1USE语句 27111.1.2声明变数 27111.1.3使用@@IDENTITY 27511.1.4使用@@ROWCOUNT 27811.2批处理 27911.2.1批处理中的错误 28111.2.2何时使用批处理 28111.3sqlcmd 28411.4动态SQL:用EXEC命令动态生成代码 28811.5控制流语句 29311.5.1IF…ELSE语句 29311.5.2CASE语句 29711.5.3用WHILE语句进行循环 30211.5.4WAITOR语句 30311.5.5TRY/CATCH块 30311.6本章小结 30611.7练习 306第12章存储过程 30712.1创建存储过程:基本语法 30712.2使用ALTER修改存储过程 30912.3删除存储过程 30912.4参数化 31012.5通过返回值确认成功或失败 31512.6错误处理 31712.6.1以前的方式 31812.6.2在错误发生前处理错误 32312.6.3手动引发错误 32812.6.4添加自定义的错误讯息 33112.7存储过程的优点 33312.7.1创建可调用的进程 33312.7.2为了安全性使用存储过程 33312.7.3存储过程和性能 33412.8扩展存储过程(XP) 33612.9递归简介 33612.10调试 33812.10.1启动调试器 33912.10.2调试器的组成 33912.10.3使用调试器 34212.11.NET程式集 34312.12本章小结 344第13章用户自定义函式 34513.1UDF的定义 34513.2返回标量值的UDF 34613.3返回表的UDF 350 13.4调试用户自定义函式 35813.5资料库中的.NET 35813.6本章小结 35813.7练习 358第14章事务和锁 35914.1事务 35914.1.1BEGINTRAN 36014.1.2COMMITTRAN 36014.1.3ROLLBACKTRAN 36114.1.4SAVETRAN 36114.2SQLServer日誌的工作方式 36114.2.1失败和恢复 36214.2.2隐式事务 36414.3锁和并发 36414.3.1通过锁可以防止的问题 36514.3.2可以锁定的资源 36814.3.3锁升级和锁对性能的影响 36814.3.4锁定模式 36914.3.5锁的兼容性 37014.3.6指定一种特有的锁定类型——最佳化器提示 37114.4设定隔离级别 37214.5处理死锁(1205错误) 37514.5.1SQLServer判断死锁的方式 37514.5.2选择死锁牺牲者的方式 37514.5.3避免死锁 37514.6本章小结 377第15章触发器 37915.1触发器的概念 38015.1.1ON子句 38115.1.2WITHENCRYPTION选项 38115.1.3FOR|AFTER子句与INSTEADOF子句 38115.1.4WITHAPPEND选项 38415.1.5NOTFORREPLICATION选项 38415.1.6AS子句 38415.2使用触发器实施数据完整性规则 38415.2.1处理来自于其他表的需求 38515.2.2使用触发器来检查更新的变化 38615.2.3将触发器用于自定义错误讯息 38815.3触发器的其他常见用途 38815.4触发器的其他问题 38815.4.1触发器可以嵌套 38915.4.2触发器可以递归 38915.4.3触发器不能防止体系结构的修改 38915.4.4可以在不删除的情况下关闭触发器 39015.4.5触发器的激活顺序 39015.5INSTEADOF触发器 39215.6性能考虑 39215.6.1触发器的被动性 39215.6.2触发器与激活的进程之间不存在并发问题 39215.6.3使用IFUPDATE()和COLUMNS_UPDATED() 39315.6.4保持触发器短小精悍 39515.6.5选择索引时不要 忘记触发器 39515.6.6不要在触发器中进行回滚 39515.7删除触发器 39515.8调试触发器 39615.9本章小结 397第16章初识XML 39816.1XML基础 39916.1.1XML文档的各个组成部分 40016.1.2名称空间 40716.1.3元素内容 40816.1.4有效与格式良好——架构和DTD 40916.2SQLServer提供的XML支持 41016.2.1将列定义为XML类型 41016.2.2XML架构集合 41116.2.3创建、修改和删除XML架构集合 41316.2.4XML数据类型方法 41516.2.5强制执行架构集合之外的约束 42116.2.6用XML格式检索关係数据 42116.2.7RAW选项 42216.2.8AUTO选项 42416.2.9EXPLICIT选项 42616.2.10PATH选项 42716.2.11OPENXML函式 43216.3XSLT简介 43616.4本章小结 438第17章ReportingServices概述 43917.1ReportingServices101 43917.2创建简单的报表模型 44017.2.1数据源视图 44317.2.2建立数据模型 44717.2.3创建报表 45017.3报表伺服器项目 45417.4本章小结 459第18章使用IntegrationServices进行集成 46018.1理解问题 46018.2使用导入/导出嚮导生成基本的程式包 46118.3程式包基础知识 46618.3.1“连线管理器”面板 46718.3.2程式包编辑器面板 46818.4执行程式包 47218.4.1在DevelopmentStudio中运行程式包 47218.4.2使用执行包实用工具 47218.4.3使用SQLServerAgent执行程式包 47518.4.4从程式中执行程式包 47518.5关于程式包的补充说明 47518.6本章小结 475第19章扮演管理员的角色 47619.1调度作业 47719.1.1创建操作员 47719.1.2创建作业和任务 47919.2备份和恢复 48719.2.1创建备份——转储 48819.2.2恢复模式 49119.2.3还原 49119.3索引维护 49319.4数据归档 49519.5基于策略的管理 496 19.6本章小结 49619.7练习 497附录A系统函式 498附录B非常简单的连线示例 550附录C学习资源 558