年月(下
)
1X ML 技术介绍
XML (Exte nsible Markup Language ,可扩展标记语言)
是由
W3C (W orld Wide We b Cons ortium )组织于1998年2月制定的一
种通用语言规范,它是专门为W eb 应用程序而设计的SGML 的简化子集。X ML 作为一种可扩展性标记语言,其描述性使其非常适用于不同应用间的数据交换,而这种交换不是以预先规定一组数据结构定义为前提的。X ML 最大的优点在于它的数据描述和传送能力,因此具有很强的开放性。
2关系数据库与XML 之间的映射方法
根据映射关系的建立方式不同,我们可以得到两种数据转换方法:基于模板驱动的转换方法和基于模型驱动的转换方法。
基于模板的映射方法并不事先定义好X ML 文档与其他数据之间的映射关系,而是在X ML 文档中嵌入带参数的SQL 命令。这些命令在转换过程中被系统所识别和执行,执行的结果被替换到指令所在的位置,从而生成目标X ML 文档,并用数据传输诸如中间件等实体软件进行处理。
基于模型驱动的映射,当把数据从数据库传送到X ML 文档或把数据从XML 文档传送到数据库时,不是仅仅依赖内嵌SQL 命令,而是用一个具体的模型实现的。基于模型的转换方法用这个事先定义好的数据模型来映射X ML 与关系数据库数据之间的关系。流程图转换为ns图
3关系数据库到XML 的转换技术3.1关系模式转换为XML 模式
在将关系模式映射为X ML 模式时,由两条路线组成,第一条路线是得到X MLS che m a 首先需要从具体的关系数据库中反求出关系模式,再根据关系模式重构其有向图,由有向图再生成映射的结构,根据映射结构和有向图将关系模式映射为X MLSchem a ;第二条路线是根据得到的S che m a 从关系数据库中提取数据嵌入XML 事例文档。整个流程如图1所示:
图1关系模式映射为XM L 流程
3.2关系模式的提取和重构
由图1表达的流程图可以看出,由具体的关系数据库提取出关系模式是整个算法实现的前提。关系模式的提取是从关系数据库中反求出来的。
关系的重构主要是各种约束重构。约束重构包括实体完整性约束、参照完整性约束和用户自定义完整性约束。其中用户自定义完整性约束大部分已在属性重构中建立,即列约束节点;实体完整性指的是主键约束;参照完整性指的是外键约束,外键是表中的一列或多列对应参照引用表中主键的列,一个表可能没有外键,也可能有多个外键。约束重构的算法步骤如下建立主键约束;建立外键约束;建立唯一键或唯一索引约束。
3.3映射结构
映射结构即将关系模式映射为X ML 模式后,表与表、列与列之间的层次关系。用一棵带父节点的二叉树来表示。左孩子表示兄弟关系,右孩子表示嵌套关系,同一个节点的属性与子元素按兄弟关系处理,父节点表示嵌套该节点的元素。因此所有的表可建立一棵二叉树,表示它们之间的嵌套关系,对于扁平结构转换,它简化变成了一个链表。表内的所有列也可建立一个这样的二叉树以表明嵌套关系。
3.4模式映射
关系重构结果树和映射结构树将作为模式映射的输入,输出的结果为X MLSchem a 文档。映射主要分为两部分,一部分是结构映射,另一部分完整性约束映射。其映射算法如下:
1)确定与X MLSche ma 相关的全局变量,即X MLSc he ma 文档
根元素sc he ma 有关属性值的确定,如目标命名空间、命名空间等。
2)创建根元素。每个X ML 文档有且仅有一个根元素,这里用数
据库名作为映射后的根元素。
3)建立表元素。表元素名称与关系模式中的表名对应相同,类型
应为复杂类型。
4)建立复杂类型。每一个复杂类型对应一个表结构,实现了表结
构映射的相对独立性。每个复杂类型包含的元素为表的各个列及其嵌套的表。
5)列元素相关约束的映射。包括列的数据类型、是否为空、字符
串长度、数据精度、默认值等。
6)一致性约束映射,即主键、唯一性约束、外键到X MLSche ma
的映射。我们选择后者映射主键、外键。
3.5数据嵌入
通过完成表结构映射和约束映射,
实现了关系模式到X ML
Sche ma 的映射。根据映射的结果从数据库中取出数据生成相应的X ML 文档。嵌入数据时,很显然要先嵌入上层元素的数据,后嵌入下
层元素的数据,因此,这里可以按照映射结构树先序遍历的顺序,将关系数据库表中的数据嵌入到X ML 文档中。
4XML 模式到关系模式的转换技术4.1映射的简要描述
3.3节将关系模式转换为X ML 模式,而在本节将X ML 模式转换为
关系模式,关系模式在转化前后必须保持一致。本节实现的转换算法仅仅针对3.3节输出的X MLSche
ma 模式,其转换流程如图2所示。
图2XM L 模式转换为关系模式流程
4.2形式化描述
X MLS che ma 是非常复杂的文档,它描述了一个树形结构的X ML
事例文档。根据S 的特点,我们用形式化的方法来描述它,步骤如下XML 与关系数据库之间转换技术的研究
曹温华
邓美玲
(江西省上饶职业技术学院,江西上饶
334109)
[摘
要]
基于XML 的异构数据库之间数据交换的顺利实现,表明XML 作为一种中间件和数据承载工具,在数据交换领域显示了它强大
的功能和方便的使用性。当前,各个软件厂家纷纷开始在自己的软件产品中加入对XML 不同程度的支持,C# 也不例外。它作为一种
B/S 模式下的开发工具具有许多特点,尤其是它对XML 的良好支持,使得它的应用前景更加广阔。[关键词]数据库;XML ;SQL 620088:c h e m a :
8

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。