APP下载

数据转换算法在异构数据集成中的研究与应用

2010-07-27李玉翠

中国新技术新产品 2010年15期
关键词:关系数据库结点定义

李玉翠

(西安欧亚学院信息工程学院,陕西 西安 710065)

引言

本文主要研究关系模型和XML模型的转换问题。首先分析关系模型和XML模型的差异,并对两种模型进行数学建模;然后实现一种将关系模式转换为XML Schema的算法,最后,介绍数据转换算法在异构数据集成中的应用。

1 关系模式与XML Schema

1.1 关系模式与XML Schema的分析

关系模式是对关系的描述。关系型数据库中的信息是完全结构化的,它无法表达一些层次性质的数据。而XML文档表达的是半结构化的信息,特别适合表达层次型的数据。正是关系型数据库和XML文档存在有结构化和半结构化的区别,导致了两者之间进行模式转化的困难。在本文中论述了一种基于语义的转换算法,整个算法实现的前提是由具体的关系数据库提取出关系模式,关系模式转换为XML Schema。

1.2 输入输出建模

关系模式是算法的输入。本文在讨论时,假设关系模式已经得到。

(1)算法输入:关系模式

在定义关系模式前,假设已存在表名集合 ,列名集合 和原子数据类型 。

定义1(关系模式)设R代表关系模式,则有关系模式定义R是四元组,R=(T,C,F,△),其中:T代表中的一个有限集合;C是一个函数,表示一个特定到一组的映射;F代表对于一个到其类型的定义的映射;△是三元组(PK,FK),表示关系模式的约束集合。该定义建立在文献[1]的基础上。

例1:对于表Tab_Teacher(Name,Age,Salary),Tab_Student(Name,Advisor,Course-Name),Tab_Course(Name,TeacherName),其中,下划线标识的为主键。

由定义1,关系模式表示为R=(T,C,F,△),其中

定义2根据数据库中的不同组成部分,数据库转换后生成的XML schema可以用5种方式进行描述,其中,设RSl是对关系数据库中数据库元素的模式描述,RS2是对关系表元素的模式描述,RS3、RS4和RS5分别是对表中字段为主键、外键和非主外键的字段的模式表示。

图1 关系模式生成XML Schema

(2)算法的输出:抽象的XML Schema(XSchema)

由于算法的目的是实现一种将关系模式转换为XML Schema,算法较好地保留了关系模型的各种语义约束;并不是要找出所有的XML Schema语法规则与关系模式的对应关系,所以算法只是对使用到的XML Schema相关语法作相应的建模。

2 关系模式转换为XML Schema的算法实现

在利用前面定义的基础上,本文实现了一种将关系模式转换为XML Schema的算法,根据数据库中的每张表的相互关系建立关系模式图,通过深度优先算法实现关系数据库模式向XML模式的转换。算法的具体描述如下:

2.1 扫描数据库建立关系模式图,各结点信息如下:

库结点:<0,db_name>

表结点:

字段结点:<2,r_name>

2.2 DFS(graph g)//深度优先遍历模式图,为结点编号

2.3 依次取结点g.adjlist[v]

If(g.adjlist[v].flag==2)//如果是字段结点

表1 Teacher表

表2 Student表

if(is_pK)按RS3模式转换;

else

……

如表1、表2所示:

在这两个关系表中,Teahcer表中tno为主键,Student表中sno和tno的组合为主键,tno项为表Student的外键。利用前面介绍的算法将表1、表2中的关系模式生成XML Schema如图1所示:

3 数据转换算法在异构数据集成中的应用

在异构关系数据库中数据查询的主要手段是使用查询语句,在实际情况中,大部分的数据库中都使用一个主表加多个辅助表的方式全面描述一个事物的信息。实际查询时需要将这些相关的信息完全抽取出来,在这种情况下,查询后的结果视图会产生基本信息的大量冗余。

本文通过ODBC编程,数据库采用SQL server2000。通过上述算法实现了关系数据模式向XML模式的整体转换,保证了关系模式中信息的完整性,较好地保持了数据库中原有的语义约束,起到保留语义关联的作用,突出表达了键约束关系。

[1]Lee,D.,Mani,M.,Chiu,F.,and Chu,W., “NeT & CoT:Translating relational schemasto XML schemasusing semantic constraints”, Proc.ofCIKM 2002, pages 282-291.

[2]Dongwon Lee, Murali Mani et.al., Nesting-based Relational-to-Xml Schema Translation,Int'l Conf.Workshop on the Web and Database(WebDB), SantaBarbara, CA,May 2001.

[3](美)麦克劳夫林(Mclaugblin,B.)著;李二勇,祁力等译。Java与XML数据绑定。北京:中国电力出版社,2002.

猜你喜欢

关系数据库结点定义
关系数据库在高炉数据采集系统中的应用
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
基于索引结构的关系数据库关键词检索
基于Raspberry PI为结点的天气云测量网络实现
修辞学的重大定义
一种基于数据图划分的关系数据库关键词检索方法
山的定义
基于DHT全分布式P2P-SIP网络电话稳定性研究与设计
教你正确用(十七)