论文摘要
近几年来,随着互联网的迅速发展,XML已经发展成为互联网上数据交换或浏览时数据的重要表示媒介,如何有效管理XML文档已经成为一个十分棘手的问题。数据库是目前最主要的数据存储方式,人们很自然地希望可以将XML格式的文档与数据库系统结合在一起使用。由于关系数据库系统在存储管理、查询优化、并行控制、事务管理等方面都较其他系统远为成熟和稳定,因而自然地成为研究的重点。可行的方法是采用关系数据库对XML数据进行存储和操作,将半结构化转化为结构化的数据,通过查询数据库来提取、综合和分析XML多样的数据,这样就能够利用相对成熟的关系数据库技术。另一方面,W3C组织于2001年5月正式推荐了XML Schema为XML的标准模式,XML Schema的格式与XML的格式完全相同,而且提供了更多的内建数据类型,并支持用户对数据类型的扩展,基本上满足了关系模式在数据描述上的需要。所以,人们可能会考虑到如果可以把某个XML Schema模式转换到关系数据库的模式,那么符合XML Schema限定的XML文档就能很容易地加入到被转换成的关系数据库模式中去了。正是基于上述考虑,本文在介绍XML语言及相关知识、XML存储技术的基础上,着重研究了如何将一个XML Schema转换成关系数据库模式。首先简单分析了XML Schema中主要组件的转换。研究了内置基础类型如何转换到关系数据库模型中。讨论了简单类型的元素是如何转换的:分别对原子类型、列表类型和联合类型的元素采用了不同地转换方法。在此基础上进一步讨论了对带有属性的元素的转换方法,并研究了复杂类型元素的内容模型的转换方法。接下来研究了二级组件的转换。着重讨论了模型组元素的转换,依次分析了sequence模型组、choice模型组和all模型组在转换时采用的方法。在转化过程中,目的是尽量保证XML Schema信息的完整性。