论文部分内容阅读
XML 已经经过了几年的发展,成为 Web 上数据交换的标准。而且,XML技术在各个领域都得到了广泛的应用,XML 相关的研究也开展得如火如荼。人们在 XML 模型研究、数据存储、查询处理、以及优化索引等方面都取得巨大的成果。本文在前人研究的基础上,对 XML 键集的转换、带 XML 函数依赖的 XML数据到关系的存储映射、以及对面向 XML 模式约束的 XML 转换的关键问题(包括 XML 模式驱动的关系数据到 XML 数据的发布和 XML 模式符合的 XML 数据到 XML 数据的转换)等方面进行了深入的研究和探讨,提出了有效的算法和技术。我们对论文中提出的算法的正确性作出了证明,而且在系统中实现了论文中所提出的方法,并对需要比较的方案进行了实验,从实验的角度证明了本文所提出的方法的有效性。研究成果不仅在理论上具有指导价值,而且在实际应用中也具有着现实意义和实用价值。具体说来:1)在一类重要的语义约束 XML 键被前人提出的基础上,我们研究了 XML键与关系键的关系,设计了一个把 XML 键集转换成关系键集的启发式算法。该算法不仅可以把 XML 键集转换成关系键集,而且可以证明该算法能保证转换后关系键集的完备性。在此基础上,我们用 Visual C++开发了一个系统 KeyGen 用于 XML 键集到关系键集的转换。如果用户需要把 Web 上 XML 数据导入到关系数据库,该工具可以为从语义约束上判断导入能否成功提供依据。2)以往有许多文章提出了将 XML 映射成关系的方法,包括根据 DTD 设计映射存储方案,但都没有考虑 XML 语义约束,而语义约束对数据存储模式设计、查询优化、更新异常检查等来说是十分重要的。如果我们在 DTD 上指定了 XML函数依赖,在映射到关系数据库时就需要将其考虑进去。这里,我们着重考虑了XML 的另一种语义约束,即 XML 函数依赖,基于已被前人提出的 Hybrid Inlining方法,提出了一种既能保持 XML 文档内容信息和结构信息,又能保持 XML 函数依赖信息的映射方法。引入 XML 函数依赖的概念,并采用我们的映射方法可以得到一个好的存储设计模式,以便减少 XML 的冗余数据在关系数据库中的存储。而且,可以证明映射后的关系都是满足第三范式的。3)在 Web 上进行数据交换时,我们往往要考虑进行数据交换的双方所要满足的 XML 模式约束(行业标准)。而此时,如果在要交换的一方源数据是以关系数据的方式存储,那么我们需要把关系数据发布成 XML 数据,而且是要发布成符合对方 XML 模式约束的 XML 数据;如果源数据是以 XML 数据的方式存储,那么我们需要把 XML 数据转换成另一种 XML 数据,使得转换后的 XML数据符合对方 XML 模式约束。这也是以往有关 XML 发布和转换的工作没有考虑到的重要方面。在本文中,我们考虑会存在一个预先定义的 XML 模式约束, 1<WP=7>摘 要而且要求发布或转换后的 XML 数据符合这个 XML 模式约束。具体来说,这个XML 模式约束我们用 DTD 来表示。我们深入研究了 DTD 驱动的关系数据到XML 数据的发布,以及 DTD 符合的 XML 数据到 XML 数据的转换,并提出了两个姊妹技术属性翻译文法(ATG)和 XML 转换文法(XTG),分别来解决上面这两个问题。而且,我们用 Java 开发了两个系统,分别是 PRATA 和 TREX,可以作为 Web 上数据交换的中间件为实际应用提供支持。4)考虑到以前用于关系数据到 XML 数据发布的优化技术都要涉及关系数据库,以及 XML 数据到 XML 数据转换的特殊性,在本文里我们还专门针对 DTD符合的 XML 数据到 XML 数据的转换深入研究了几种优化技术,包括缓冲策略、图归约、路径扩展和 FIXT 索引技术,用于提高计算 XTG 的效率。最后,我们在 TREX 系统中实现了上述优化技术,并在数据集上做了相应的对比实验,验证了这几种优化技术的有效性。总之,本文详细论述了 XML 约束在 XML 数据存储、发布和转换中的应用方面的有关技术。本文的工作是建立在前人研究的基础上但有所不同,它能解决前人未曾解决或没有很好地解决的一些问题。从理论分析和实验对比上可以表明,本文所提出的方法是有效的。