第1章 绪论 1
1.1引言 1
1.2什么是XML 1
1.3 XML数据 3
1.3.1半结构化数据 4
1.3.2 XML数据的特点 5
1.4 XML数据库 7
1.5 XML数据库查询语言 9
1.6 XML数据库系统 11
1.6.1体系结构 12
1.6.2功能模块 13
1.7 XML数据库系统实现技术 14
1.7.1存储方法 14
1.7.2编码方法 15
1.7.3索引技术 16
1.7.4查询代数 16
1.7.5查询处理 16
1.7.6查询优化 17
1.7.7 XML数据更新 17
1.7.8访问控制 19
1.7.9基准测试 19
1.8 XML数据库技术发展 20
1.8.1 XML近似查询处理 20
1.8.2 XML关键字查询 21
1.8.3 XML异构数据集成 23
1.8.4分布XML处理 24
1.8.5图数据 25
1.9总结 25
习题 26
参考文献 26
第2章 XML基础知识 28
2.1引言 28
2.2 DTD 28
2.3 Schema 30
2.4 XPath查询语言 32
2.4.1 XPath简介 32
2.4.2 XPath轴 33
2.5 XQuery查询语言 34
2.5.1 XQuery简介 34
2.5.2 XQuery表达式 35
2.5.3 XQuery语法 37
2.6 XQuery/Update 38
2.7 SAX和DOM 39
2.7.1 SAX 39
2.7.2 DOM 40
2.8总结 40
习题 41
参考文献 41
第3章 XML数据存储 42
3.1引言 42
3.2存储方法分类 43
3.2.1存储粒度 44
3.2.2存储顺序 44
3.3多粒度存储方法 45
3.4支持更新的存储方法 47
3.4.1子树存储 47
3.4.2支持更新的索引 50
3.4.3存储的更新算法 51
3.5总结 54
习题 54
参考文献 56
第4章 XML编码 58
4.1引言 58
4.2区域编码 59
4.2.1基本的区域编码 59
4.2.2扩展的区域编码 60
4.3前缀编码 61
4.3.1基本的前缀编码 61
4.3.2扩展的前缀编码 62
4.4 k分树编码 63
4.4.1基本的k分树编码 63
4.4.2扩展的k分树编码 63
4.5基于空间预留的编码更新 65
4.5.1预留策略 66
4.5.2编码空间预留 66
4.5.3编码更新 67
4.6支持动态更新的编码方法 68
4.6.1浮点数编码 68
4.6.2 OrdPath编码 69
4.6.3素数编码 69
4.6.4位字符串编码 70
4.6.5向量编码 71
4.7总结 73
习题 73
参考文献 73
第5章 XML数据索引 76
5.1引言 76
5.2经典路径索引 76
5.2.1 DataGuide 77
5.2.2 1-Index 77
5.2.3 A(k)-Index 78
5.2.4 D(k)-Index 79
5.2.5 M(k)-Index 79
5.3基于模式的路径索引 80
5.3.1索引结构 80
5.3.2基于SUPEX索引的查询处理算法 83
5.4扁平结构路径索引 84
5.4.1索引结构 85
5.4.2基于F-Index的过滤算法 89
5.5基于序列的索引 91
5.5.1索引结构 91
5.5.2基于序列化索引的匹配算法 94
5.6总结 96
习题 96
参考文献 98
第6章 XML查询代数 100
6.1引言 100
6.2 XML代数基本思想 101
6.2.1记录和操作对象 101
6.2.2基本代数操作符 102
6.3 XML查询代数OrientXA 103
6.3.1基本概念 103
6.3.2代数操作符 107
6.3.3查询处理的优化 114
6.4 XQuery/Update的代数处理 117
6.5总结 119
习题 120
参考文献 121
第7章 XML查询处理——基本处理方法 122
7.1引言 122
7.2 XML查询处理概述 122
7.2.1基本概念 123
7.2.2查询处理方法分类 126
7.3二元结构连接 127
7.3.1 MPMGJN连接算法 128
7.3.2 Stack-Tree连接算法 129
7.4目标结点为导向的XML路径查询处理 132
7.4.1基本概念 132
7.4.2路径查询的分解计算 133
7.5基于区域划分的XML结构连接 136
7.5.1基本概念 136
7.5.2基于区域划分的结构连接算法 137
7.6总结 138
习题 139
参考文献 140
第8章 XML查询处理——整体匹配 142
8.1引言 142
8.2基本整体匹配算法——TwigStack 143
8.2.1整体匹配的基本思想 143
8.2.2 TwigStack算法 144
8.3基于扩展解决方案的整体匹配算法 147
8.3.1问题的提出 147
8.3.2扩展解决方案 148
8.3.3改进的整体匹配策略 149
8.4复杂Twig查询匹配 151
8.4.1问题的提出 151
8.4.2元素的缓存 152
8.4.3基于层次缓冲区的整体连接算法 155
8.5总结 157
习题 158
参考文献 159
第9章 XML查询优化 161
9.1引言 161
9.2 XML查询优化的主要问题 162
9.3查询树简化 162
9.3.1基本概念 163
9.3.2冗余结点判断规则 165
9.3.3 PTQ的优化算法 166
9.4复杂路径选择性代价计算 169
9.4.1基本概念 169
9.4.2 PM路径选择性计算方法 174
9.4.3 SGM路径选择性计算方法 176
9.5路径分解策略 180
9.5.1基本概念 180
9.5.2最小简单分解算法 183
9.6总结 183
习题 184
参考文献 185
第10章 XML数据更新处理 187
10.1引言 187
10.2假设查询的处理思想 188
10.3 Transform处理方式 189
10.4 Transform优化方法 190
10.4.1 Transform查询等价转换策略 191
10.4.2 Transform查询的“Eager”和“Lazy”处理方法 192
10.4.3 Transform查询的“混合”处理方法 193
10.4.4 Transform优化方法的选择 195
10.5 Transform代数查询计划的生成 197
10.5.1一般XQuery/Update代数计划的生成 197
10.5.2基于Transform优化方法的代数计划的生成 200
10.6总结 201
习题 202
参考文献 203
第11章 XML近似查询处理 205
11.1引言 205
11.2树模型上的近似查询处理 206
11.2.1问题的提出 206
11.2.2相关定义 208
11.2.3 PSTP查询匹配算法 214
11.2.4优化 218
11.3图模型上的近似查询处理 218
11.3.1问题的提出 218
11.3.2相关定义 219
11.3.3查询处理算法 223
11.4总结 229
习题 229
参考文献 231
第12章 XML关键字查询 233
12.1引言 233
12.2基于树模型的XML关键字查询 234
12.2.1基本概念 234
12.2.2查询处理算法 237
12.3基于图模型的XML关键字查询 241
12.3.1相关工作 243
12.3.2查询语义 244
12.3.3计算查询模式(QP) 245
12.3.4查询处理算法 247
12.4基于XML数据流的关键字查询 250
12.4.1单关键字查询 250
12.4.2多关键字查询 253
12.5总结 259
习题 260
参考文献 260
第13章 XML访问控制 263
13.1引言 263
13.2基于角色的访问控制 264
13.3基于角色的扩展访问控制方法 264
13.3.1传统方法存在的问题 265
13.3.2扩展的访问控制规则 266
13.3.3基于可复用角色和可继承操作的访问控制方法 268
13.4基于角色-模式关联的访问控制方法 273
13.4.1 XML数据与角色的映射关系 273
13.4.2角色的创建 274
13.4.3用户角色的授予与回收 276
13.4.4用户权限验证 277
13.5总结 279
习题 279
参考文献 279
第14章 XML数据库管理系统 281
14.1引言 281
14.2纯XML数据库系统OrientX概述 282
14.2.1体系结构 282
14.2.2系统特征 283
14.3纯XML数据库系统OrientX实现 285
14.3.1存储管理 285
14.3.2数据管理 286
14.3.3模式管理 287
14.3.4索引管理 287
14.3.5查询处理 287
14.4其他纯XML数据库系统 290
14.5基于关系的XML数据库系统 292
14.6基准测试 293
14.7总结 296
习题 296
参考文献 297
参考文献汇总 299
词汇索引 307
后记 311