论文摘要
随着XML作为数据表示的重要载体变得越来越重要,特别是其在数据交换方面起着至关重要的作用,而大量XML数据的产生引起各种对XML数据存储问题的研究。基于关系数据库的成熟性,目前大多数研究都将XML文档存入关系数据库中。在众多的基于XML模式的XML文档到关系数据库的存储方法中,最为显著的方法是PSchema (Physical XML Schema)、BSchema (Basic XML Schema)以及CSchema (Complex XML Schema)。但是,这些方法仍然存在着很多的不足:PSchema对多值元素的定义非常模糊,未区分多值元素是多次出现的值还是多次出现的元素结构;BSchema则未对XML中语义进行约束,也没有保存模式信息,这种映射方式不利于XML文档的重构及还原;CSchema虽然对PSchema和BSchema进行了继承和扩展,但是,CSchema在对递归复杂元素、多命名空间信息、重复结构、面向未来可扩展元素与属性的映射方法过于复杂,而且没有考虑到XML文档中对语义约束等信息,也没考虑到新增XML文档对数据库中的数据表的影响。因此,本文对CSchema进行了改进,提出了一种CSchema++的映射方法,同时还对X-RESTORE查询中间件进行改进,提出了将XPath转换为SQL查询的算法,并通过代价估计来比较CSchema与CSchema++的效率。论文主要从以下三个大的方面展开工作:(1)基于CSchema重新对XML模式进行了语义分析,提出了一种改进的CSchema++。该模型将复杂XML文档中的复杂信息进行分类定义,如命名空间信息、重复结构、递归复杂元素、面向未来可扩展元素与属性,并重新归纳了这些复杂信息的提取方法和映射规则,去掉了利用层次(layer)的方法来存储递归复杂元素,将CSchema的提取映射简单化、完善化。与CSchema相比,CSchema++最大的改进在于利用改进的元素表来动态保存XML模式信息,即随着XML文档的动态增长,元素表以及XML文档对应的数据表都将会动态增长。由于元素表的操作非常频繁,CSchema++将元素表通过数组置于内存中,相比CSchema直接将元素表置于磁盘中,CSchema++大大提高了存储和查询效率。另外,本文对数据库中主键、外键、唯一性和非空等约束信息进行了分析,保存了XML的语义信息,实现了XML文档的无损映射,同时保证了映射过程的可逆性,不仅实现了XML文档到关系数据库的映射,同时实现了关系数据库到XML文档的还原。(2)将XML文档按照CSchema++的映射规则存入关系数据库之后,需要将XML查询转换为关系查询。而XML查询是半结构化查询,关系查询是结构化查询,这就需要用到查询中间件。其中,最为著名的是X-RESTORE查询中间件。X-RESTORE所响应和执行的查询是XQuery查询,由于XQuery的基础是XPath,所以熟悉XQuery的人都会使用XPath,为了方便用户,本文对X-RESTORE查询中间件进行改进,提出了将XPath转换为SQL查询的算法。算法分为两个步骤:首先,将用户输入的XPath查询语句转换为XPathExpression图,其中,XPathExpression图的作用等同于复杂XML文档存储的中间模式CSchema++。然后,将XPathExpression图转换为SQL语句,利用图中的边来实现文档节点顺序的保存,通过将节点和边的信息转换为SQL语句中Select、from以及where子句中的内容,实现了XML用户输入XPath查询。(3)由于,XML文档存储模式的代价主要由查询操作的代价来衡量,因此本文结合现有的代价估计方法,通过DOM树结构查找节点所需代价来估计关系查询所耗费的代价,将基于模式的复杂XML文档存储代价定义为DOM树结构查找节点所需代价,即查找节点和对节点数据筛选的代价和。为证实CSchema++的优越性,本文通过所提出的代价估计方法来比较CSchema与CSchema++的存储和查询代价,证实了CSchema++映射的存储和查询方式代价更小,存储和查询效率明显得到提高。
论文目录
相关论文文献
- [1].基于XML的异构数据库信息交互机制的实现[J]. 物联网技术 2019(12)
- [2].新闻评论类公众号XML内容分发的发展策略研究——基于十家新闻评论微信公众号的实证考察[J]. 出版广角 2020(10)
- [3].基于FLASH与XML的在线考试系统的设计与实现[J]. 软件导刊(教育技术) 2016(12)
- [4].密码协议XML描述方法研究[J]. 信息工程大学学报 2016(06)
- [5].XML在信息系统中的应用[J]. 电脑编程技巧与维护 2017(04)
- [6].基于XML的数据中心网络统一配置方法[J]. 自动化与仪器仪表 2017(02)
- [7].基于伪反馈的有效XML查询扩展[J]. 计算机科学与探索 2016(12)
- [8].基于XML的电子病历隐私数据脱敏技术的研究与设计[J]. 信息技术与信息化 2017(03)
- [9].基于XML的电子书自排版系统的实现[J]. 出版科学 2017(04)
- [10].基于XML配置管理的数字多用表检定软件设计与实现[J]. 中国管理信息化 2017(08)
- [11].基于XML地图符号表达的研究[J]. 测绘标准化 2016(02)
- [12].XML技术在社区医疗服务系统中的应用与研究[J]. 数字技术与应用 2016(08)
- [13].基于XML的工作流引擎的设计与实现[J]. 科技风 2014(17)
- [14].关系模式到XML模式映射模型的建立与实现[J]. 电子制作 2014(20)
- [15].基于推理树的XML推理控制研究[J]. 通信技术 2015(02)
- [16].基于XML的工作流模型挖掘[J]. 计算机光盘软件与应用 2014(21)
- [17].基于XML路径表达式优化及其查询和过滤计算方法研究[J]. 信阳师范学院学报(自然科学版) 2015(04)
- [18].基于XML的公交查询系统设计[J]. 科教文汇(下旬刊) 2012(07)
- [19].XML技术的房地产估价数据标准研究[J]. 中国房地产 2013(24)
- [20].《XML技术》线上教学的实践和探索[J]. 科技风 2020(33)
- [21].探究XML在影视后期剪辑中的应用[J]. 中国传媒科技 2020(02)
- [22].基于模型检查的XML树模式优化动作生成[J]. 计算机应用与软件 2017(03)
- [23].XML与关系数据库之间的转换[J]. 教育教学论坛 2017(18)
- [24].XML中基于聚类的相似度改进算法[J]. 计算机与数字工程 2015(12)
- [25].以目标节点为导向的XML关键词查询和排序[J]. 计算机应用与软件 2016(04)
- [26].一种基于XML的工作流引擎设计和实现[J]. 电脑编程技巧与维护 2016(16)
- [27].建设基于XML技术电子病历系统的核心价值[J]. 中国数字医学 2009(02)
- [28].基于XML的结构化电子病历临床诊疗数据库构建[J]. 中国数字医学 2012(05)
- [29].基于XML的名老中医医案结构化标引系统[J]. 中国数字医学 2013(07)
- [30].基于XML-关系映射数据访问层的设计与实现[J]. 安徽广播电视大学学报 2015(02)