一种关系模型到XML的转化方法技术

技术编号:18350446 阅读:33 留言:0更新日期:2018-07-01 23:40
本发明专利技术提出了一种关系模型到XML的转化方法,涉及定义关系数据的结构模型、XML模式定义、映射规则字典和映射规则字典构造算法。该方法解决了关系模型与XML之间结构的关键问题,即如何定义有效的映射,主要应用于各个领域中的关系模型到XML模型的转化,完成从扁平的二维结构到嵌套层次结构的映射。该方法定义了关系模型中包含的数据结构、数据操作方法集合和数据完整性约束信息以及XML中包含的元素声明、属性声明、命名空间等的相关信息,设计了一种映射规则字典,通过算法构造映射规则字典,实现关系数据到XML的转化。该方法与传统方法相比,大大提高了转化效率,并尽可能完整地保有关系模式中约束信息,从转化效率和转化质量方面优化了传统转化方法。

【技术实现步骤摘要】
一种关系模型到XML的转化方法
本专利技术涉及数据互操作领域,属于关系数据库与XML集成方面,尤其涉及一种关系模型到XML的转化方法。
技术介绍
随着制造业信息化时代的到来,信息共享成为信息化发展的一项重要技术,存储数据的方式之间也需要共享和整合。XML是由W3C协会制定的可扩展标记语言(ExtensibleMarkupLanguage),其结构嵌套、自描述、格式独立、与平台及应用无关等特点为数据互操作领域带来了便利。应该说,XML很好的实现了不同平台和系统之间的数据信息交换,为推进各企业、各实体间的业务交流奠定了坚实的基础。通过研究关系模式和XML文档组成和结构,可以得知,关系数据是完全结构化的,XML是半结构化的。它们之间的显著区别在于,XML文档是一种元数据,先要有数据,然后描述数据;关系数据要先定义表结构,再进行数据的添加。目前,从关系模型向XML模型转化的方法中,通常所采用的方法有:1.通过规则直接转换的技术。直接转换是需要预先定义XML模板,再通过规则将关系模型转化为XML模型,典型代表有NeT算法和CoT算法、FT算法、RTS算法等。2.通过间接转换的技术。间接转换是利用中间件方式,将关系模式先转化为中间模型,然后从中间模型转化为XML模型,典型的中间件有对象模型等。现有的转化方法存在一定的缺陷,大概表示为:1.对语义的表示不够完善,后期缺少对语义规范化的完善;2.直接转化技术转化效率不高,且不能够很好解决关系模式与XML模式的冲突;3.间接转化技术中,由于中间件可能涉及到新的语言,增大了转化难度和复杂度。
技术实现思路
本专利技术的目的在于提升目前关系模式到XML模式转化的质量和效率,由于传统转化方式不能很好地实现关系模式与XML模式之间的映射,造成语义信息丢失或者不完全,而此转化方法尽可能完整的保有原关系模式中的信息约束、减少转换过程中的语义信息的损失,大大提高了数据转换的效率和质量。为了实现上述目的,本专利技术采用了如下技术方案:1一种关系模型到XML的转化方法,其特征在于:根据关系模型的数据结构和完整性约束定义关系数据的结构模型,并在此模型基础上使用按深度优先顺序搜索关系模型结构的规则映射字典算法,完成由XML格式来描述的映射规则字典,从而实现了关系模型向XML模式的转化,主要包括以下步骤:a.定义关系数据的结构模型;b.定义映射规则字典;c.构造规则映射字典算法。2步骤a中关系数据的结构模型根据关系模型的数据结构和数据完整性约束定义,依次包括一组有限个数的表集合、一组有限个数的列集合、从表到该表所包含的列的映射、从列到该列值类型的映射、一组有限个数的函数依赖、主键和外键;建立在关系结构模型的基础上,描述一张RDB图,图中将关系数据结构模型R分层表达,依次为:数据库集合、表集合、列集合、列的值类型、关系映射。3步骤b中映射规则字典是由具有强大的数据描述能力的XML模式来描述,此映射规则字典由三部分组成:可表示成为一个三元组MRD=(Xname,Table,Rstructure),其中每个元组的具体含义如下所示:1)Xname:表示XML文档的名称或其数据存储路径;2)Table:表示关系数据库中每个表格必要的映射信息,主要包括以下信息:2.1)属性Tname指示出该表格的名称;2.2)属性TXpath表示与该表格语义相等的XML元素在XML模式中的路径表达式;2.3)元素Column表示关系数据库中表中每一列的映射信息,由于关系表中有多个列,所以元素Column可以重复出现,其包含的属性和元素如下所示:2.3.1)属性Cname表示关系表中列的名称;2.3.2)列元素CXpath表示XML文档中相应列元素或者属性的路径表达式,其中包括如下两种函数:2.3.2.1)R2X表示将关系数据的整型数据转换为XML的字符串型的函数;2.3.2.2)*表示不需要转换函数;3)Rstructure:表示一个特定关系表的所有可能的连接,其中包含的属性如下:3.1)Ptable表示特定表的名称;3.2)PK表示主键约束,与该表进行连接的另一个表由元素Joins标识,元素Joins中还定义了以下属性:3.2.1)Ftable表示外键关系的表名称;3.2.2)FK表示外键约束。4步骤c中映射规则字典算法包括以下部分:算法1:Build_MRD输入:一个关系模型结构图RDB输出:映射规则字典MRD1)mrd=null2)深度优先顺序遍历RDB,取每一个根结点r3)mrd=mrd+Traverse_RDB(r);4)循环执行2),3)步骤,直至遍历完rdb中每一个根结点5)返回MRD算法2:Traverse_RDB输入:RDB图中的结点n输出:映射规则字典MRD1)mrd=null2.1)如果该结点的映射信息已经被构造,即n.flag==true,则返同mrd;2.2)如果n是RDB图中根结点,继续遍历直至n=2如果n是RDB图中第二层结点,即n=2,则mrd=mrd+Match_Node(n);n.flag=true;返回mrd3.1)遍历RDB图中的叶子节点,设与叶子结点有关系的结点为m;3.2)如果m.flag==false,则mrd=mrd+Traverse_RDB(m);mrd=mrd+Match_Leaf(n,m);3.3)循环执行步骤3.1),3.2),直至遍历完结点n的所有关系结点4)如果n不是第1或者2层节点,也不是叶子结点,则不予处理;n.flag=true;返回mrd算法3:Match_Node输入:RDB图中第二层结点,即层数为2输出:映射规则字典MRD1)构造/MRD/Table/Field映射信息算法4:Match_Leaf输入:RDB图中叶子结点输出:映射规则字典mrd1)构造/MRD/Rstructure映射信息附图说明图1为本专利技术的实现框架图;图2为本专利技术的关系模型结构图;图3为本专利技术的映射规则字典图;图4为本专利技术的关系模型到XML模型的映射流程图;具体实施方式本专利技术提出了一种关系模型到XML的转化方法,涉及定义关系数据的结构模型、XML模式定义、映射规则字典和映射规则字典构造算法。该方法完成从扁平的二维结构到嵌套层次结构的映射。该方法定义了关系模型中包含的数据结构、数据操作方法集合和数据完整性约束信息以及XML中包含的元素声明、属性声明、命名空间等的相关信息,设计了一种映射规则字典,通过算法构造映射规则字典,进而实现关系模型到XML的转化。以下将参照附图并结合实例对本专利技术作进一步详细说明。如图1所示,本专利技术的实现框架图完成了关系模式与XML模式之间转化最核心的部分,即映射规则的设计与实现,主要包括以下步骤:a.定义关系数据的结构模型;b.定义映射规则字典;c.构造规则映射字典算法;如图2所示,本专利技术的关系模型结构图是根据关系模型中包含的数据结构、数据操作方法集合和数据完整性约束信息来定义的。从图2定义的层级:表集合、列集合、列的值类型、关系映射,完整的展现了关系模型的信息。如图3所示,映射规则字典是由具有强大的数据描述能力的XML模式来描述,此映射规则字典由三部分组成,其可表示成为一个三元组MRD=(Xname,Table,Rstructure)。如图4所示,关系模型向X本文档来自技高网...
一种关系模型到XML的转化方法

【技术保护点】
1.一种关系模型到XML的转化方法,其特征在于:根据关系模型的数据结构和完整性约束定义关系数据的结构模型,并在此模型基础上使用按深度优先顺序搜索关系模型结构的规则映射字典算法,完成由XML格式来描述的映射规则字典,从而实现了关系模型向XML模式的转化,主要包括以下步骤:a.定义关系数据的结构模型;b.定义映射规则字典;c.构造规则映射字典算法。

【技术特征摘要】
1.一种关系模型到XML的转化方法,其特征在于:根据关系模型的数据结构和完整性约束定义关系数据的结构模型,并在此模型基础上使用按深度优先顺序搜索关系模型结构的规则映射字典算法,完成由XML格式来描述的映射规则字典,从而实现了关系模型向XML模式的转化,主要包括以下步骤:a.定义关系数据的结构模型;b.定义映射规则字典;c.构造规则映射字典算法。2.根据权利要求1所述的一种关系模型到XML的转化方法,其特征在于,步骤a中关系数据的结构模型根据关系模型的数据结构和数据完整性约束定义,依次包括一组有限个数的表集合、一组有限个数的列集合、从表到该表所包含的...

【专利技术属性】
技术研发人员:罗志勇边敏敏赵杰罗蓉于士杰范志鹏汪源野李凯凯
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1