第1章 数据库开发新语言Transact-SQL 1
数据库开发语言 2
T-SQL的三大组成语言 3
流程控制语言与变量声明 10
查询数据的基本技巧 16
SELECT指令的使用技巧 17
用TOP语句获取特定数据 22
公用表表达式(CTE) 24
用PIVOT与UNPIVOT使输出结果转向 29
EXCEPT与INTERSECT的使用 31
用排序函数产生序号 33
数据更改的基本技巧 34
INSERT指令 35
UPDATE指令 37
DELETE指令 37
取代触发器的OUTPUT语句 38
流程控制的专属技巧 40
用TRY...CATCH捕获执行中的异常情况 40
用CURSOR进行逐行数据的处理 45
案例分享 48
使用CTE与排序函数取代VB.NET以获取特定行数 48
使用CTE和计算多父节点的物料清单 50
第2章 活用数据类型与数据库对象 55
数据类型及其新增功能 56
系统数据类型 56
大值数据类型 62
别名数据类型 63
行结构说明与数据表的管理 64
大值类型与大对象类型的存储 65
表的创建 66
表的修改 68
数据分区函数与分区方案 68
分区函数的建立与运用 69
分区方案的建立 72
分区函数的使用示例 73
视图对象的基本概念 78
视图的概念与使用时机 78
视图的创建与管理技巧 79
使用视图修改数据 83
索引视图与分区视图 85
使用同义词解决对象的参考问题 87
案例分享 89
第3章 数据转换语言XML 95
XML语言的基本组成架构 96
XML的组成元素 96
XML处理技术 99
SQL Server 2005新增的XML技巧 105
XML结合数据库对象的使用 105
XML架构集合 106
关系型与层次型数据的互换 109
查询指令配合FOR子句输出XML数据 110
用OPENXML将XML转换为层次型数据 119
Xquery语法 123
用Xquery整合XML数据类型 123
用Xquery更新XML数据 129
使用XML索引强化处理 131
案例分享 133
第4章 XML的高级应用——建立Web服务 139
Web服务与其应用方向 140
SQL Server 2005 HTTP端点的使用场合 141
SOAP与WSDL的基本组成要素 143
利用HTTP端点创建Web服务 145
如何创建HTTP端点 145
端点使用的数据库对象 151
端点的安全性设定 152
端点数据的管理 153
活用Web服务 154
集成Visual Studio.Net 2003/2005建立应用程序 155
存取存储过程且返回输出数据 156
存取存储过程返回OUTPUT 158
存取存储过程返回RETURN 160
标量函数的使用 162
用用户定义函数返回XML 164
返回RAISERROR错误消息 166
利用sqlBatch方法执行T-SQL指令 168
案例分享 169
使用Visual Studio 2003与HTTP端点进行异步处理 170
配合Visual Studio 2005与HTTP端点进行异步处理 174
第5章 用传统T-SQL对象创建高级对象 177
使用T-SQL开发存储过程 178
使用存储过程的优点 178
存储过程的开发与管理 179
多种类型的存储过程的使用 186
高级存储过程的应用技巧 191
系统函数与用户定义函数 193
系统函数的分类与使用技巧 193
用标量函数输出单一返回值 196
用表值的用户定义函数输出数据集 198
用户定义函数的使用技巧 200
使用T-SQL开发触发器 205
触发器的创建 205
特殊触发器的使用技巧 211
DDL触发器 214
触发器的管理 216
案例分享 216
使用Visual Basic 2005调用存储过程 216
使用触发器检查库存量后发送电子邮件 221
第6章 延伸.NET触角的SQLCLR 225
.NET Framework 2.0集成数据库的新概念 226
CLR的概念及其使用优势 226
使用CLR开发数据库对象 227
组件的注册与使用 228
开启CLR功能与安全性设定 229
.NET组件的概念 229
注册组件与建立对象 230
SQLCLR组件应用于数据库对象的开发 236
开发SQLCLR存储过程 237
开发SQLCLR用户定义函数 239
开发SQLCLR触发器 241
开发SQLCLR用户定义类型 244
开发SQLCLR聚合 249
案例分享 252
第7章 CLR对象的高级使用技巧 255
使用CLR存储过程链接数据库 256
使用CLR存储过程链接数据库的技巧 256
CLR存储过程连接Oracle数据库的技巧 263
使用CLR用户定义函数的技巧 264
结合RegularExpressions验证电子邮件 265
使用TVF返回操作系统资源 266
使用CLR用户定义类型的处理技巧 271
开发CLR对象的注意事项 275
案例分享 276
第8章 实现数据的完整性与安全性 281
数据完整性 282
声明数据完整性——条件约束 283
Primary Key条件约束 283
Unique条件约束 284
Check条件约束 285
Default条件约束 286
Foreign Key条件约束 287
条件约束的特殊使用技巧 291
数据的安全性 293
数据隐码 293
避免数据隐码的技巧 295
数据库的加、解密机制 296
EncryptByAsymKey与DecryptByAsymKey操作的使用 296
EncryptByKey与DecryptByKey操作的使用 297
EncryptByCert与DecryptByCert操作的使用 298
案例分享 299
第9章 用ADO.NET 2.0进行数据库应用程序的开发 303
SQLNCLI的作用 304
用SQL Native Client集成ADO.NET 2.0新功能 311
服务器列举类 311
连接字符串发生器 312
异步处理 314
多重作用结果集MARS 317
大量复制操作 318
SQLServer的大值数据类型max 322
更新通知SqlDependency 323
更改SQL Server 2005的登录密码 325
强化DataTable功能 328
用单一API存取多个提供程序数据库 328
案例分享 330
第10章 松耦合应用程序Service Broker 335
了解松耦合程序设计架构 336
Service Broker的服务定义对象 337
Service Broker的会话组件 338
Service Broker的网络和远程安全性组件 339
Service Broker的安全性架构 340
Service Broker对象的建立 341
启用数据库的Service Broker 342
建立消息类型 342
建立约定 344
建立队列 345
建立服务 346
Service Broker对话操作 347
传送消息 348
接收消息 349
案例分享 351
第11章 开发需求响应架构的通知应用程序 355
通知服务 356
通知服务架构与设定 357
创建实例与应用程序 364
订阅管理对象 365
事件的收集 366
事件的产生与订阅的配送 367
建立通知服务应用程序 368
建立通知服务前端应用程序 368
建立事件提供程序 369
案例分享 370
第12章 事务与锁定处理 375
为何需要事务与锁定 376
ACID概念 376
在企业环境中使用事务与锁定时存在的问题 378
事务的种类与应用时机 380
隐性事务与使用 382
显式事务的定义与使用 383
分布式事务的定义与使用 390
事务的高级使用技巧 395
锁定的种类与作用 395
何谓锁定 396
锁定的资源 396
锁定的种类 397
调整隔离等级 397
快照隔离 402
行版本控制 402
数据库的设定须知与程序的编写 403
快照隔离事务的高级使用 405
案例分享 408
第13章 多国语系 413
Unicode的概念 414
编码UCS-2,UTF-16,UTF-8的概念 414
数据库与应用软件支持Unicode的介绍 415
排序规则设定语系 419
何谓排序规则 419
排序规则的适用范围 420
排序规则结尾附加标记的高级应用 426
字符串处理转换函数 430
排序规则的应用技巧 432
用BCP命令行程序处理Unicode 432
Bulk Insert语句处理Unicode 433
案例分享 434
数据库多国语系警示消息的多语系设定 434
集成CLR进行繁体与简体的转换 437
第14章 索引的建立与调试 439
索引的概念及种类的说明 440
数据存取与索引关系的说明 441
堆栈 442
聚集索引 443
非聚集索引 445
建立各种索引与索引信息 447
唯一索引 448
复合索引 451
包含性列的索引 451
计算列的索引 454
数据分区索引 455
优化索引性能的管理技巧 457
索引信息的查询 458
索引片段的管理 459
案例分享 461