【摘要】 通过研究结构化数据模型之间的数据映射技术,以及从Excel数据表到结构化数据模型,和从结构化数据模型到Excel数据表的数据映射技术,探讨异构的数据模型之间的数据映射技术。
【关键词】 异构 数据映射 结构化数据模型 Excel
为解决数据集成中数据异构问题,可以采用数据映射的方法。数据映射技术的应用在当前企业中已经十分成熟、广泛。
数据映射(Data-Mapping)主要指的是在两个不同的数据模型之间,建立彼此数据元素的对应关系。数据映射为数据集成奠定了基础,往往是很多数据集成项目中的第一步。数据集成最常见的问题就是系统异构、数据模型异构和数据异构。而解决这一问题的方法,就是数据映射。通过建立数据元素的对应关系,使数据格式满足数据集成平台的标准。
在进行数据映射时,我们首先需要对源数据和目标数据进行描述,然后再制定映射规范。而XML技术能够很好的描述结构化数据、半结构化数据和非结构化数据,并可以进行数据绑定。在描述不同的映射关系时,也可以作为定制的规范语言。
在这里,本文基于XML技术,主要定义了三种类型的数据映射和数据交换方法,并对其进行研究。
一、结构化数据模型之间的映射与数据交换
本文研究的结构化数据模型主要是指关系数据库,使用XML格式描述源数据库和目标数据库之间的映射关系。
在进行数据映射时,本文主要采用基于模型的数据映射方式,将XML格式与数据库中的数据结构之间进行映射,通过定义好的映射文件,对数据库中的数据转换为XML格式,从而完成数据映射。
下面这个例子是一个基于数据表的XML格式数据映射文件,通过对这个例子的分析,可以简单了解结构化数据模型映射到XML格式的过程。
1、第一行,这条代码表示xml版本为1.0,文档编码为UTF-8。
2、第二行标记,是xml文档的根元素,表示该文档为数据映射文件。
3、第三行标记,包含该数据映射文件的名字。
4、第四行标记,说明映射集合,及相关属性。
5、第五行标记,是映射集合中的一个映射。
6、第六行标记,指明映射的名字。
7、第七行标记,指明源模型名字。
8、第八行标记,指明目标模型名字。
9、第九行标记,是源实体集标记。
10、第十行标记,是一个源实体标记,属性Name表示实体名称。
11、第十一行标记,是源-目标属性,及对应关系。里面的三个属性,Name表示源属性名,Target_Entity表示目标实体名,Target_attribute表示目标属性。
12、标记,从源实体中查询生成的实例,使用的查询语句。
13、标记,目标实体,属性name表示目标实体名。
14、标记,表明目标属性。该标记内有四个属性,属性name表示目标属性名,属性data_type表示数据类型,value表示属性值,isKey表示是否是主键。
以上XML文件描述了从源数据模型到目标数据模型的数据映射,从而完成了异构数据模型之间的数据映射和数据交换。
二、从Excel数据报表向中间数据库的映射与数据加载
Excel数据报表是企业办公人员经常使用的进行数据存储或数据交换的文件,Excel简单易用,适合存放原始数据,但是对于存放管理大量数据,以及数据共享、数据处理、数据完整性约束和数据交换等方面,就完全比不上专业的数据库系统。所以这些存放了大量原始数据的Excel表格,需要加载入专业的数据库中,进行统一的存放和管理。
由于Excel表格中的数据格式有可能设计的十分复杂,如果使用程序对其进行抽取数据,完成数据映射,那么势必要编写大量的代码,增加工作难度。而本文利用XML定义从Excel报表向关系数据库映射的描述模式,先将Excel中的数据映射到XML文件中,在将XML中的数据映射到中间数据库,从而完成了半结构化数据到结构化数据的映射过程。
以上文件中各个标记和属性的含义是:
1、标记:XML映射文件根元素,用来描述从 Excel文件到数据表的数据映射。
2、标记:表示某一个Excel数据文件模板,一个映射文件中可以包含多个数据文件模板。属性name表示数据文件模板的名字。
3、标记:表示Excel数据文件中的某一个表,一个数据文件模板可以包含多个表。
4、标记:表示映射的数据表,是Excel文件映射到的数据表,可以对应多个数据表。属性name表示数据表的名字。
5、标记:表示数据表中的一个属性,是的子标记。属性name表示数据表中属性名;属性column表示数据表中的属性对应Excel表中的列号。属性isKey表示是否是关键字。
以上XML文件中描述了从Excel数据表中数据到数据库中数据表的数据映射。
三、从中间数据库向Excel数据报表的映射与报表自动生成
从数据库中的数据表向Excel数据报表映射的过程十分复杂,但是原理
比较简单。大概来说,就是将数据表中的记录的每一个属性对应Excel数据报表中的每一个单元格进行映射,一条数据表中的记录同时对应一行Excel数据报表中的记录。采取这样的映射方式时,还会有许多问题,如数据库中的数据表与Excel数据报表的映射关系是怎样的,映射过程中是否进行数据的运算处理等等。
小结
异构数据源是企业内各个信息系统进行集成时,最常遇到的问题。在企业进行现代化、信息化建设时,由于企业自身的管理问题、开发时间的差异、具体业务要求、技术性以及其它经济原因等因素影响,造成了数据管理系统出现很大差异,出现很多以不同存储方式存储的数据。这些数据存储的位置从简单的Excel表格到大型的关系数据库,形成了企业的异构数据源。
为解决异构数据源的数据集成和交换问题,本文提出了三种数据映射技术对应三种不同的情况以进行解决,对于其他数据映射技术还需要今后进一步研究。