第1章 绪论 1
1.1 XML与模式 1
1.1.1 XML简介 1
1.1.2 DTD简介 5
1.1.3 XML模式简介 7
1.2 XPath查询语言 13
1.2.1 XPath简介 13
1.2.2 数据模型 15
1.2.3 定位路径与定位步 18
1.2.4 基本表达式 21
1.2.5 函数调用 22
1.3 XQuery查询语言 25
1.3.1 XQuery简介 25
1.3.2 XQuery查询的处理模型 27
1.3.3 XQuery语法与查询实例 29
1.4 XML查询代数 37
参考文献 38
第2章 纯XML数据库系统 41
2.1 概述 41
2.2 XML数据的编码方案 43
2.2.1 位向量编码 45
2.2.2 前缀编码 45
2.2.3 区间编码 46
2.2.4 二叉树编码 49
2.3 纯XML数据库的存储结构 51
2.3.1 存储方案 52
2.3.2 记录与结点 53
2.3.3 实例分析 55
2.4 纯XML数据库的索引技术 57
2.4.1 索引技术概论 57
2.4.2 实例分析 61
2.5 纯XML数据库的事务管理 63
2.5.1 概述 63
2.5.2 Natix中的事务管理 66
参考文献 70
第3章 X-RESTORE:XML数据的关系存储与查询 75
3.1 基于关系的XML数据库综述 75
3.1.1 边模型映射方法 75
3.1.2 结点模型映射方法 78
3.1.3 结构映射方法 80
3.1.4 以XML文档发布关系数据 84
3.2 X-RESTORE数据模型 91
3.3 XML数据的索引结构与关系存储模式X-RESTORE 93
3.3.1 扩展先序列表 93
3.3.2 关系存储模式X-RESTORE 96
3.4 转换XML文档到X-RESTORE关系存储 99
3.4.1 解析XML文档 99
3.4.2 转换到X-RESTORE关系存储 102
3.5 X-RESTORE关系存储下的XML查询 103
3.5.1 XML查询的计算模式 104
3.5.2 X-RESTORE查询中间件 104
3.5.3 对XML查询的有效支持 105
3.5.4 XML文档片段的重构 108
3.6 实验结果及分析 110
参考文献 115
第4章 X-RESTORE下的XML查询 119
4.1 XPath路径表达式 119
4.2 X-RESTORE中XPath路径表达式的有效计算 121
4.3 转换XPath路径表达式到SQL查询 123
4.3.1 产生XPathExpr图 124
4.3.2 根据XPathExpr图产生SQL查询 127
4.3.3 有效地处理XPath函数 130
4.4 实验结果 135
参考文献 136
第5章 结构连接算法 137
5.1 结构连接概述 137
5.1.1 XML查询的分解 137
5.1.2 结构连接算法概述 138
5.2 关系数据库的连接算法 139
5.3 直接归并结构连接算法 141
5.3.1 多谓词归并连接算法 141
5.3.2 索引改进归并连接算法 144
5.4 基于缓存的归并结构连接算法 148
5.4.1 Stack-Tree算法 148
5.4.2 Queue-Tree算法 152
5.4.3 Anc_Desc_B+算法 157
5.4.4 Par-Chi-Join算法与Hold-Join算法 159
5.4.5 XR-Stack算法 167
5.5 Twig模式的结构连接 173
5.5.1 PathStack算法和TwigStack算法 176
5.5.2 TSGeneric+算法 179
5.6 文档位置关系的结构连接 185
5.6.1 XPath加速器索引技术 185
5.6.2 兄弟关系结构连接算法 188
参考文献 200
第6章 XML查询优化 202
6.1 XPath查询最小化 202
6.1.1 引言 202
6.1.2 无约束XPath查询最小化 207
6.1.3 带约束XPath查询最小化 212
6.2 XML视图查询 224
6.2.1 查询分析器 226
6.2.2 查询重写 230
6.2.3 实验结果及分析 235
6.3 查询结果大小的估算 236
6.3.1 路径表达式的选择度估算 237
6.3.2 位置直方图 248
6.3.3 区间模型与位置模型 252
6.3.4 值位置直方图 255
6.4 选择结构连接的顺序 256
参考文献 259