第1章 XML数据模型 1
1.1 XML的由来 1
1.1.1 HTML与XML 2
1.1.2 SGML与XML 2
1.2 XML数据模型 3
1.2.1 一个XML文档实例 3
1.2.2 XML文档树 4
1.3 XML文档类型定义DTD 5
1.3.1 DTD主要语法 5
1.3.2 DTD树 8
1.3.3 文档校验 8
第2章 XPath查询语言 12
2.1 XPath简介 12
2.2 地址路径(Location Path) 13
2.2.1 地址步进(Location Step) 14
2.2.2 地址路径缩写 16
2.3 基本表达式 17
2.3.1 布尔表达式 17
2.3.2 等式表达式 17
2.3.3 关系表达式 18
2.3.4 数值表达式 18
2.4 核心函数库 19
2.4.1 节点集合函数 19
2.4.2 字符串函数 20
2.4.3 布尔函数 21
2.4.4 数值函数 22
2.5 数据模型 22
2.6 查询举例 25
第3章 XML数据存储与索引 26
3.1 引言 26
3.2 XML数据管理技术 27
3.2.1 基于文件系统的管理技术 27
3.2.2 基于关系数据库的管理技术 28
3.2.3 基于对象数据库的管理技术 31
3.2.4 Native XML数据管理技术 32
3.3 Native XML数据管理系统XBase 34
3.4 模式存储 35
3.5 数据存储 36
3.5.1 基本存储策略 36
3.5.2 结构聚簇存储 38
3.6 索引技术 41
3.6.1 XML外延 41
3.6.2 索引系统的功能 42
3.6.3 索引组织结构 44
3.6.4 索引的管理 44
3.6.5 索引的性能评价 46
3.7 小结 52
第4章 XML查询处理 53
4.1 基于外延的查询处理技术 53
4.1.1 外延连接查询处理技术概述 53
4.1.2 查询分解与转换 54
4.1.3 性能评价 56
4.2 基于外延的查询优化技术 59
4.2.1 一般查询优化 59
4.2.2 冗余消除优化技术 60
4.2.3 路径缩短优化策略 63
4.2.4 补路径策略 66
4.2.5 性能评价 69
4.3 基于自动机的查询处理技术 73
4.3.1 自动机技术简介 73
4.3.2 基于自动机的路径查询处理 76
4.3.3 数据模型 77
4.3.4 辅助数据结构 82
4.3.5 自动机匹配查询算法 85
4.3.6 性能评价 88
4.3.7 测试结果与分析 89
4.4 基于签名的结构连接技术 91
4.4.1 XML范围编码 91
4.4.2 签名过滤技术 93
4.4.3 基于XML编码范围的签名过滤器 95
4.4.4 带有指针的签名过滤器及其优化 98
4.4.5 性能分析与评价 103
4.5 基于分片的结构连接技术 107
4.5.1 引言 107
4.5.2 基于分片的结构连接方法 110
4.5.3 空间划分方法及优化策略 112
4.5.4 性能评价 118
4.6 PathGuide:基于后缀树的查询处理技术 123
4.6.1 PathGuide聚簇索引方法 123
4.6.2 PathGuide的查询执行技术 130
4.6.3 性能评价 136
第5章 XML并行处理技术 141
5.1 传统并行数据库系统概述 141
5.1.1 并行数据库的体系结构 141
5.1.2 并行数据库的物理存储方法 143
5.1.3 并行数据库的并行处理及算法 145
5.1.4 并行数据库的处理机调度 146
5.2 并行XML数据物理分片策略 147
5.2.1 基于数据模式的并行XML数据物理分片策略 147
5.2.2 基于查询频率的并行XML数据物理分片策略 161
5.3 XML数据库的并行结构化查询 171
5.3.1 XML数据编码方法 172
5.3.2 并行结构连接算法 173
5.3.3 性能测试与评价 178
5.4 并行XML数据库处理机分配调度策略 179
5.4.1 问题定义 180
5.4.2 处理机分配策略 181
5.4.3 性能测试与评价 184
5.5 并行XML数据库原型系统 185
5.5.1 分布并行的对象数据库系统Fish 186
5.5.2 并行XML数据库原型系统PXBASE 188
5.6 小结 197
第6章 基于高级数据模型的XML更新技术 199
6.1 引言 199
6.2 XML-RL简介 199
6.3 XML-RL更新语言的语法 201
6.3.1 模式的语法 201
6.3.2 数据库的语法 203
6.3.3 XMLRL更新语言的语法 204
6.4 XML-RL更新语言的举例 206
6.4.1 插入 206
6.4.2 删除 208
6.4.3 修改 209
6.4.4 综合更新举例 209
6.5 XML-RL更新语言的语义 209
6.5.1 模式的语义 209
6.5.2 数据库的语义 211
6.5.3 XML-RL更新语言的语义 212
6.6 XML-RL更新系统的体系结构 214
6.6.1 用户界面 215
6.6.2 Web服务器 215
6.6.3 语言处理器 215
6.7 相关工作 216
6.8 小结 217
第7章 面向对象的XML 218
7.1 引言 218
7.2 面向对象的例子 219
7.3 现有模式语言对继承的支持 221
7.4 扩展DTD 224
7.4.1 元素层次 224
7.4.2 多态性 227
7.5 有效性验证 230
7.5.1 形式化描述 230
7.5.2 有效性验证 231
7.6 面向对象的查询扩展 232
7.6.1 多态元素 233
7.6.2 多态引用 233
7.6.3 包含元素 234
7.6.4 包含引用 234
7.7 小结 235
第8章 XML语义约束 236
8.1 关系数据库与XML 中的参照完整性约束表示 237
8.2 约束型XML文档 238
8.3 关系数据库参照完整性约束到XML文档的映射方法ICMAP 239
8.3.1 基本表映射 239
8.3.2 参照完整性约束映射 239
8.4 约束型XML文档的构造实例 243
8.5 映射方法对比与分析 244
8.5.1 语义表示能力 244
8.5.2 查询效率 244
8.6 自动抽取XML近似函数依赖 246
8.6.1 基于等值的XML近似函数依赖定义 246
8.6.2 基本抽取算法 248
8.6.3 优化算法 249
8.6.4 性能分析与评价 251
8.7 小结 254
第9章 XML数据访问控制 255
9.1 XML访问控制技术概览 255
9.1.1 XML数据访问控制需求 255
9.1.2 XML信息泄露实例 256
9.2 XML文档发布中的数据安全定义 257
9.2.1 安全XML发布的形式化表示 257
9.2.2 XML推演渠道——XML约束种类 258
9.3 基于XML约束的数据推演 258
9.3.1 基于单一XML约束的数据推演技术 258
9.3.2 基于多种XML约束的数据推演技术 259
9.4 信息泄露定义 261
9.5 计算安全发布文档 261
9.5.1 单一XML约束 263
9.5.2 单一父子约束 264
9.5.3 单一祖孙约束 266
9.5.4 单一函数依赖 266
9.5.5 多个XML约束 267
9.6 一个安全文档发布系统XGuard 268
9.6.1 系统结构 268
9.6.2 系统模块 269
9.7 测试评价 272
9.7.1 实验设置 272
9.7.2 泄露信息的数量 273
9.7.3 XML约束的影响 273
9.7.4 公共知识对信息泄露的影响 274
9.7.5 满足约束的节点对信息泄露的影响 274
9.7.6 删除节点以防止函数依赖 275
9.8 小结 276
附录A 并行XML数据库性能测试标准 277
参考文献 279