论文部分内容阅读
可扩展标记语言XML (eXtensible Markup Language)是一门新兴的面向Internet应用的标记语言。它是W3C(World Wide Web Consortium,互联网联盟)提出的一套用于Web网络上的数据和文档结构的通用标记语言。XML实际上是一种定义语言,即使用者可以自行定义标记来描述文件中的数据元素,从而突破了HTML固定标记集合的约束。XML不仅提供数据自身的信息,而且可以用来描述数据的结构。XML的迅速发展使其成为Web发展和数据交换的一种新标淮。Web上大量XML数据的使用引起了诸多问题,其中之一即为如何有效地对XML数据进行存储与管理。利用关系数据库存储XML数据,最大的优势在于可以利用关系数据库现有的存储管理、并发控制、恢复、版本机制等技术有效地管理数据。所以研究XML数据在关系数据库中的存储成为XML研究的一个热点。当XML数据存储到关系数据库时,需要将树状结构的XML文档映射成平面的行和列,这样不仅增加了转换的时间,而且破坏了文档本身的结构,从而降低了数据处理的速度。本文主要研究XML文档在关系数据库中的存储问题。通过查阅大量文献,作者介绍了XML的相关技术,并对各种XML文档的存储方法作了一个简单的比较。作者对XML文档的各种存储方法进行分析。同时对XML Schema的基本语义进行分析,引入B_Schema(Basic XML Schema)的概念,提出一个基于B_Schema的XML文档存储方法。主要内容如下:B_Schema是XML Schema的一种等价形式。B_Schema可以被直接映射为关系模式。B_Schema由XML Schema生成,采用DOM树表示。引入分级节点的概念,分级节点可以直接映射为关系。代价模型结合B_Schema中的统计信息,对B_Schema进行代价估计。引入一组改写规则对B_Schema进行改写。B_Schema的改写主要集中在两个方面:内联改写和choice合并改写。引入一种搜索算法进行优化处理。该算法利用改写规则得到一组等价的B_Schema集合,对B_Schema进行代价估计、比较,迭代得到代价最小的B_Schema。同时,为了加快搜索速度,引入代价优化指数作为搜索算法的结束条件。