第Ⅰ部分 SQL Server 2005 XML简介 2
第1章 NET Framework 2.0中有关XML的新特性 2
1.1 System.Xml 2.0版本的改进与新特性 3
1.2 性能 3
1.2.1 XMLTextWriter类和XMLTextReader类 4
1.2.2 XMLReader类和XMLWriter类 4
1.2.3 XSLT处理过程 4
1.2.4 XML模式验证 5
1.3 类型支持 5
1.4 XPathDocument 7
1.5 XPathNavigator 8
1.6 XML查询体系结构 9
1.7 XmlReader类、XmlReaderSettings类、XmlWriter类和XmlWriterSettings类 10
1.8 小结 12
第2章 SQL Server2005 XML的新特性 13
2.1 xml数据类型 14
2.1.1 xml数据类型列 14
2.1.2 xml变量 15
2.1.3 XML参数 15
2.1.4 函数返回值 16
2.2 xml数据类型的索引 17
2.2.1 主索引 17
2.2.2 从索引 17
2.3 XQuery 19
2.3.1 XQuery结构 19
2.3.2 额外的概念 20
2.4 XML数据修改语言 24
2.4.1 插入 25
2.4.2 删除 26
2.4.3 更新 27
2.5 Transact-SQL增强 28
2.6 FOR XML 28
2.6.1 xml数据类型集成 28
2.6.2 嵌套FOR XML表达式 29
2.6.3 PATH模式 30
2.6.4 指派FOR XML结果 31
2.7 HTTP SOAP访问 32
2.8 小结 32
3.1 从哪里获得SQL Server 2005 Beta 2 Express版本 33
3.2 安装SQL Server 2005 33
第3章 安装SQL Server 2005 33
3.3 小结 45
第Ⅱ部分 SQL Server 2005中服务器端的XML处理 48
第4章 xml数据类型 48
4.1 无类型XML与类型化XML的比较 48
4.1.1 无类型XML 48
4.1.2 类型化XML 50
4.2 改变xml数据类型列 52
4.3 xml数据类型方法 54
4.3.1 query() 55
4.3.2 value() 56
4.3.3 exist() 58
4.3.4 nodes() 61
4.3.5 modify() 63
4.3.6 结合使用多个方法 64
4.3.7 在方法中使用运算符 66
4.4 默认值、约束和计算列 68
4.4.1 默认值 68
4.4.2 约束 69
4.4.3 计算列 72
4.5 创建视图 74
4.6 XML设置选项 76
4.7 xml数据类型最佳实践 76
4.7.1 为什么和在哪里 77
4.7.2 类型化与无类型 77
4.7.3 约束 77
4.7.4 局限性 78
4.8 小结 78
第5章 在SQL Server 2005中查询和修改XML数据 80
5.1 XQuery 80
5.1.1 XQuery结构和概念复习 80
5.1.2 XQuery Prolog 84
5.1.3 XQuery路径表达式 86
5.1.4 XQuery XML构造 88
5.1.5 FLWOR语句 90
5.1.6 XQuery排序 92
5.2 XML数据修改语言 94
5.2.1 insert 94
5.2.2 delete 100
5.2.3 replace value of 102
5.3 小结 105
6.1 主XML索引 107
第6章 在SQL Server 2005中对XML数据建立索引 107
6.2 从XML索引 110
6.2.1 PATH 111
6.2.2 VALUE 112
6.2.3 PROPERTY 113
6.3 对内容建立索引 114
6.3.1 CONTAINS() 116
6.4 修改XML索引 118
6.5 XML索引的选项设置 120
6.6 最佳实践 120
6.7 小结 121
第7章 SQL Server 2005中的XML模式 122
7.1 管理XML模式集 122
7.1.1 创建XML模式集 123
7.1.2 删除XML模式集 131
7.1.3 修改XML模式集 131
7.2 查看XML模式集 134
7.3 XML模式集权限 135
7.3.1 授权许可 136
7.3.2 拒绝授权 138
7.3.3 撤消授权 139
7.4 指导原则和局限性 141
7.5 小结 142
第8章 对FOR XML和OPENXML的Transact-SQL增强 143
8.1 FOR XML 143
8.1.1 TYPE指令 144
8.1.2 RAW模式增强 147
8.1.3 AUTO模式增强 148
8.1.4 EXPLICIT模式增强 150
8.1.5 PATH模式 152
8.1.6 嵌套的FOR XML 158
8.1.7 XSD模式生成 160
8.1.8 注意事项 161
8.2 OPENXML 163
8.3 小结 165
第9章 SQL Server 2005中的CLR支持 166
9.1 激烈的辩论 167
9.2 T-SQL语言的局限性 169
9.3 介绍托管代码 170
9.4 CLR集成的优点 174
9.5 在T-SQL和托管代码之间做出选择 175
9.6.1 调用 176
9.6 安全性 176
9.6.2 表访问 177
9.6.3 门 177
9.6.4 CLR安全集成目标 177
9.7 小结 177
第Ⅲ部分 SQL Server 2005中客户端的XML处理 180
第10章 对xml数据类型的客户端支持 180
10.1 SqlXml类 180
10.2 介绍CreateReader方法 180
10.3 使用SqlXml类 181
10.3.1 用SqlXml类更新数据 187
10.3.2 用SqlXml类插入数据 189
10.4 小结 191
第11章 用SQLXML 4.0执行客户端的XML处理 192
11.1 SQL本地客户端 192
11.1.1 SQL本地客户端和MDAC的区别 193
11.1.2 部署时需要注意的事项 194
11.1.3 xml数据类型支持 194
11.1.4 CreateReader() 194
11.2 用ADO做SQLXML4.0查询 195
11.3 用FOR XML执行客户端格式化 199
11.3.1 SQLXML体系结构 200
11.3.2 在客户端和服务器端XML格式化之间做选择 200
11.3.3 FOR XML模式 201
11.4 小结 203
第12章 创建与查询XML视图 204
12.1 XML视图和XSD模式 204
12.1.1 sql:field 205
12.1.2 sql:relation 206
12.1.3 sql:relationship 207
12.1.4 sql:key-fields 211
12.2 查询XML视图 213
12.3 最佳实践 221
12.4 小结 221
第13章 用updategram更新XML视图 222
13.1 概述和结构 222
13.2 映射模式和updategram 223
13.2.1 隐式映射 223
13.2.2 显式映射 224
13.3 修改数据 225
13.3.1 插入数据 226
13.3.2 删除数据 233
13.3.3 更新数据 236
13.4 传递参数 240
13.5 updategram并发性 242
13.5.1 低级并发性保护 242
13.5.2 中级并发性保护 243
13.5.3 高级并发性保护 243
13.6 NULL处理 244
13.9 小结 246
13.7 updategram安全性 246
13.8 指导原则和局限性 246
第14章 通过XML视图批量加载XML数据 248
14.1 批量加载概述 248
14.1.1 XML数据流 249
14.1.2 批量加载操作模式 249
14.2 批量加载对象模型 250
14.2.1 Execute方法 250
14.2.2 BulkLoad属性 250
14.2.4 ConnectionCommand属性 251
14.2.3 CheckConstraint属性 251
14.2.5 ConnectionString属性 252
14.2.6 ErrorLogFile属性 252
14.2.7 ForceTableLock属性 252
14.2.8 IgnoreDuplicateKeys属性 252
14.2.9 KeepIdentity属性 253
14.2.10 SchemaGen属性 253
14.2.11 SGDropTables属性 254
14.2.12 SGUseID属性 254
14.2.13 TempFilePath属性 254
14.2.15 XMLFragment属性 255
14.2.14 Transaction属性 255
14.3 NET环境下的批量加载 256
14.4 安全问题 261
14.5 指导原则和局限性 262
14.6 小结 262
第15章 SQLXML数据访问方法 263
15.1 SQL本地客户端 263
15.1.1 SQL本地客户端与MDAC对比 264
15.1.2 SQLXMLOLEDB提供程序 265
15.2 SQLXML托管类 278
15.3 Web服务 282
15.4 小结 283
第16章 数据访问的历史 284
16.1 XSLT概述 284
16.1.1 节点 287
16.1.2 模板 288
16.2 XSLT的改变 289
16.2.1 XslCompiledTransform 289
16.2.2 XsltSettings 294
16.3 新特性 295
16.4 指导原则 296
16.5 小结 296
第Ⅳ部分 SQL Server 2005、SqlXml和SOAP 298
第17章 SQL Server 2005中对Web服务(SOAP)的支持 298
17.1 SOAP概述 298
17.1.1 SQL Server 2005中的SOAP 299
17.1.2 本地XML如何工作 299
17.1.3 本地XML访问与SQLXML的比较 300
17.1.5 本地XML支持的要求 301
17.2 SOAP配置 301
17.1.4 本地XML访问的益处 301
17.2.1 Web方法 302
17.2.2 端点 303
17.3 指导原则与局限性 316
17.4 最佳实践 317
17.4.1 性能 317
17.4.2 安全 319
17.4.3 部署场景 321
17.5 小结 322
18.1 引用并使用一个端点 323
第18章 客户端的SOAP 323
18.1.1 授权 325
18.1.2 构建客户端应用程序 327
18.2 保护一个端点的安全 336
18.3 小结 337
第19章 Web服务描述语言(WSDL) 339
19.1 WSDL文件概述 339
19.2 WSDL文件内容 340
19.3 默认WSDL文件 347
19.3.1 将SQL Server映射为XSD类型 348
19.3.2 将SQL Server映射为CLR类型 349
19.5 自定义WSDL文件 350
19.4 简单WSDL文件 350
19.6 小结 356
第20章 SQL Server 2005 SQLXML托管类 360
20.1 SQLXML托管类对象模型 360
20.1.1 SqlXmlCommand对象 361
20.1.2 SqlXmlParameter对象 366
20.1.3 SQLXMLAdapter对象 367
20.2 示例 367
20.3 小结 377
第21章 处理程序集 378
21.1 程序集 378
21.1.1 使CLR集成可用 379
21.1.2 托管代码 381
21.2.1 SAFE 396
21.2.2 EXTERNAL ACCESS 396
21.2.3 UNSAFE 396
21.2 程序集安全性 396
21.3 小结 397
22.1 概述 398
22.1.1 数据访问 398
第22章 创建.NET例程 398
22.1.3 SqlContext对象 399
22.1.4 SqlPipe类 399
22.1.2 命名空间要求 399
22.1.5 SqlDataRecord类 400
22.2 用户自定义的过程 400
22.2.1 ByRef输出参数 401
22.2.2 通过SqlDataRecord返回结果 402
22.3 用户自定义的触发器 404
22.3.1 SqlTriggerContext类 405
22.3.2 INSERT 406
22.3.3 DELETE 410
22.3.4 UPDATE 412
22.4 标量值UDF 416
22.5 简便方法 418
22.6 小结 420
第23章 ADO.NET 422
23.1 xml数据类型 422
23.2 异步操作 427
23.3 多重活动结果集 430
23.4 查询通知 432
23.5 小结 435
第24章 ADO.NET 2.0指导原则与最佳实践 436
24.1 xml数据类型 436
24.1.1 GetSqlXml 436
24.1.2 ExecuteXmlReader 438
24.2 MARS 438
24.3 异步操作 439
24.3.1 阻塞 439
24.3.2 错误处理 440
24.3.3 取消命令 440
24.4 查询通知 440
24.5 小结 440
第25章 案例研究——综合应用 442
25.1 现有的应用程序和基础设施 442
25.1.1 当前数据库设计 442
25.1.2 当前XML使用 444
25.1.3 伙伴关系信息 444
25.1.4 当前Web服务使用 445
25.2 选择SQL Server 2005的特性 445
25.3 集成选择的特性 446
25.3.1 利用xml数据类型 446
25.3.2 构建HTTP端点 459
25.3.3 SqlXml托管类 461
25.3.4 构建.NET例程 464
25.4 小结 465
附录A SQL Server 2005中的XQuery 466
A.1 XQuery的优点 466
附录 466
A.2.2 XPath表达式 467
A.2.1 什么是XPath 467
A.2.3 什么是XQuery 467
A.2 介绍XQuery 467
A.3 XQuery表达式 468
A.3.1 FLWOR语句 468
A.3.2 XQuery运算符 470
A.3.3 XQuery函数 476
A.4 使用XQuery创建XML 481
A.5 相关变量和列 483
A.5.1 sql:column() 483
A.5.2 sql:variable() 484
A.6 小结 485
第Ⅴ部分 SQL Server 2005与Visual Studio 2005