论文部分内容阅读
近几年来,随着互联网的不断迅速发展,XML正迅速取代HTML成为Web上数据表示、集成和交换的标准,越来越受到人们的青睐,然而,随着互联网上发布的XML数据的不断增加,如何有效管理XML文档已成为一个十分棘手的问题。而目前最主要的数据存储方式是关系数据库,人们很自然地希望利用现有关系数据库的丰富资源和管理经验来存储XML文档,将半结构化数据转化为结构化的数据。然而由于XML数据和关系型数据在组织上的差异,从XML文档到关系数据库转换过程中存在的XML文档多值元素、递归元素以及混合内容元素的映射等难点问题一直没有得到有效的解决,主要表现为映射方法不灵活,查询效率低,丢失有用信息等,这增加了系统的开销、复杂性,影响了数据库的效率。与此同时,不同的生产厂商生产的数据库是异质的,这必然会增加开发基于XML的Internet应用的难度,不但如此,现存的方法大多数以DTD来定义XML文档模式,但是DTD缺乏对数据类型、文档结构、属性等约束的足够描述,而且对于XML的名字空间处理、扩展性、管理等方面有着完全不同的格式,因此,采用DTD作为模式的映射方法不容易实现XML文档的自动化存储和查询。另一方面,W3C组织于2001年5月正式推荐了XML Schema为XML的标准模式,XML Schema的格式与XML的格式完全相同,而且提供了更多的内建数据类型,并支持用户对数据类型的扩展,基本上满足了关系模式在数据描述上的需要。所以,XML Schema比DTD具有更强大的表达能力,更能适应不同领域的需求,更适合描述关系数据,有代替DTD的趋势。于是人们很自然的会考虑到如果可以把XML Schema模式转换成关系数据库模式,那么符合XML Schema格式的XML文档就能很容易地转换成关系数据库中的数据了。基于上述考虑,本文在介绍XML语言及相关知识、XML存储技术的基础上,根据W3C最新提出的XML Schema规范,提出了一种等价于XML Schema的数据模型S_Schema,并实现了从S_Schema到关系模式的映射算法和Xml文档到关系数据库的加载算法。通过实验可以证明,在XML文档的模式信息相对稳定的情况下,本文所提出的S_Schema映射方法在信息保持、查询效率、灵活性等方面均要优于DTD、文本和Xparent等方法。根据本文提出的思想,S_Schema方法能够很好地实现XML文档查询和存储的自动化。