论文部分内容阅读
随着Internet的迅速发展,可共享的资源越来越多,对数据的描述千差万别,数据环境的差异也越来越大。在企业内部,由于部门间相对独立,构建系统时缺乏统一的规划和标准,所以造成了现有的应用系统是分散、异构、封闭的,相互之间不能共享信息,构成了一个巨大而复杂的异构数据库环境。为了使企业应用系统间资源共享得以实现并变得快捷,必须为大量各种各样的数据提供某种统一的表示方法。由于XML具有自定义性及可扩展性,使其迅速的成为Internet上用于数据表示和数据交换的标准。XML文档大量涌现,使XML与其他数据的转换及它的有效管理受到广泛关注。为了结合数据库发展的需要,本文研究了数据库数据与XML数据之间的映射,XML数据在关系数据库中存储及查询技术。
本文首先对数据集成涉及的相关技术进行深入研究。分析了目前流行的数据集成产品,并针对异构数据集成过程中的数据转换问题,设计了一个数据库数据与XML数据转换的接口,以保证网上信息交流的畅通。通过对XML数据存取机制和XML与数据库映射技术的分析和研究,提出了转换接口的设计方案。基于XML成为网络系统中通用数据交换标准,通过JDBC实现对数据库系统的连接,利用Java的无平台性,实现数据库中数据到XML文档的转换。数据库与外界之间都以XML文档作为交换介质,屏蔽了所有数据库有关的技术细节,同时使系统的可扩展性更好。
然后针对固定结构的XML文档在关系数据库中的存储问题,提出了一种在关系数据库中存储XML,文档的方法,这种方法是基于XPath数据模型的,并对XML文档的元素进行Dietz编码来标识元素,同时在数据库中存储每个元素及其父元素的Dietz编码来保持元素之间的父子关系以及用于将关系数据转化为XML文档或文档片段。
最后,我们研究了如何实现将XML查询转化为SQL的查询转换问题。转换分为两个步骤:第一步是将一个XPath路径表达式转换成有向边标记图XPathExpr图(即:XPathExpr);第二步是根据XPathExpr图来产生SQL查询,XPathExpr图中的结点和边用来生成SQL查询的各个部分,并且对如何有效地处理XPath函数进行了详细的介绍。