论文部分内容阅读
随着XML数据量的不断增加,提出了XML文档的不同存储方法。目前存在的XML数据的存储模式主要可以分为两类:关系存储模式和native存储模式。虽然我们将XML存于数据库当中,但目前的DBMS中XML查询引擎与关系查询引擎仍然是两套不同的机制,这就为统一处理带来种种不便;另外,由于XML数据结构的多样性,而当前的XML查询方法又都基于路径,依赖于特定的XML结构,这就给用户的查询就带来了很多困难,而关键字查询技术虽然方便构造查询,但目前的研究方法或者没有考虑查询结果的语义问题,或者实现技术的时间、空间复杂度较高,因此我们有必要设计一种新的XML查询方法,这种方法独立于XML结构,由查询系统自动查找匹配的XML结构,从而为用户的查询带来便利,实现XML查询引擎和关系查询引擎的无缝集成。我们将这种XML查询方法称之为SQL风格的XML查询方法(Relationa-style XML Query)。
该查询方法所面临的难点主要有两个,一个是性能问题,如何发现合适的树结构,是我们必须解决的问题之一;另一个就是准确性的问题,即便在同一结构中,可能的数据实例也是非常多。本文通过引入amoeba结构和函数依赖来解决目前XML查询方法所无法解决的问题,同时通过合法性检测和查询结果输出格式控制来保证查询的准确性。
与传统的XML查询方法相比,SQL风格的XML查询方法有其明显的优势,我们不再需要去设计严格的模式,这就大大提高了XML的语义表达能力;另外,查询语句不再依赖于XML结构,这就允许用户从多个数据源进行查询。
在文章最后,我们将给出实验数据,来进一步证明该查询方法对多种XML数据和多样性结构的支持。