数据库转换工具的设计与实现-毕业论文.doc

上传人:滴答 文档编号:1256330 上传时间:2019-01-19 格式:DOC 页数:44 大小:1.23MB
下载 相关 举报
数据库转换工具的设计与实现-毕业论文.doc_第1页
第1页 / 共44页
数据库转换工具的设计与实现-毕业论文.doc_第2页
第2页 / 共44页
数据库转换工具的设计与实现-毕业论文.doc_第3页
第3页 / 共44页
数据库转换工具的设计与实现-毕业论文.doc_第4页
第4页 / 共44页
数据库转换工具的设计与实现-毕业论文.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、 本 科 生 毕 业 设 计 论 文 数据库转换工具的设计与实现院 系_专业班级_姓 名_学 号_指导教师_年 月 日计算机科学与技术I摘 要本文设计与实现了一个数据库的数据转换工具,能够实现多数据源间的数据的导入导出和数据整合。该工具基于开源 ETL 工具 Kettle,使用纯 java 语言编写,可用于二次开发。而数据转换工具的设计是在 kettle 的源码基础上,进行功能扩展。 。数据库转换工具是在 kettle 的数据抽取、数据转换、数据加载三个方面的插件功能上进行了添加,从通用的数据库连接方式中分离出了 DM 数据库的连接,实现达梦数据库和 oracle 数据库之间的数据转换。总共增

2、加的步骤插件有 7 个。数据抽取:word 输入,word 文件作为数据源,兼容 doc 和 docx 格式的文件。数据以表格形式存储在 word 文件中,Word 输入是从一个 word 文件的表格中抽取数据;数据加载:word 输出,生成一个 docx 格式的文件,数据存储在word 文件的表格中;数据清洗:单位换算,支持长度、重量、频率、速度、功率及角度这 6 种单位的换算;字段清理,可根据设置的分隔符字符和位置清理掉其前或其后的字符串;提取数字,仅保留字符串中带符号的数字;全半角转换,将字符串中全角符号全部转换为半角符号;日期规格化,将不合法的日期规格化。关键字:kettle,元数据,

3、插件,数据转换,数据清洗,word 输入输出IIAbstractThe main purpose of this paper is to design and implement a data transformation tool to achieve data import and export from multiple sources and data integration.Kettle is an open source ETL tool,using pure java language,whose source code is able to be redeveloped.The

4、 tool is based on kettles source code to add the rules of data cleaning according to the problems when data is integrated between old database and new database.Kettle is an application that consists of a platform and plugin structure.In this topic,the modification of kettle is in plugin structure.We

5、 mainly add the function about data extraction ,data transformation and data loading,as well as separating the DM database connection from the general database connection.Totally,seven steps of plugin are added,including word input in data extraction ,that word files is regarded as a data source.Dat

6、a is stored in table.Data extracting from a table in word files.Word files supports doc and docx format., word output in data loading which generates a word whose extension is docx.Data is stored in table .and in data transformation, including unit conversion that supports 6 units conversion which i

7、ncluding length ,quality,speed,frequency,power and angle ; field cleaning, a string that can be cleaned before or after according to the setting of the separator string ;extraction of digital, Only the number with sign can be reserved in a string;full-to-half , ll full width symbols will be into hal

8、f width symbols;Date Standard ,it standardizes illegal date string.Key Words:kettle,metadata,plugin,data transformation,data cleaning,word input and output.III目 录(格式?)摘 要 .IAbstract .II1 绪论 .11.1 课题背景及目的 .11.2 课题国内外转换工具概况 .21.2.1 DM 数据迁移工具 .21.2.2 DMETL 数据交换平台 .31.2.3 Oracle Warehouse Builder .31.2.

9、4 Kettle.41.3 课题的主要工作和论文构成 .51.3.1 主要工作 .51.3.2 论文构成 .52 核心技术 .72.1 数据库驱动程序 JDBC.72.2 Apache POI 组件 .72.3 正则表达式 .82.4 元数据库 .93 Kettle系统结构简介 .113.1 Kettle 系统结构 .113.2 kettle 插件结构 .123.2.1 Kettle 的插件扩展机制 .123.2.2 步骤插件的组成 .143.2.3 步骤插件间的通信 .163.3 本章小结 .174 数据库转换工具的设计与实现 .184.1 转换的选择与不足 .184.2 新增插件 word

10、 输入 .194.2.1 Word 输入插件的注册及显示 .204.2.2 Word 输入插件的调用 .224.2.3 Word 输入插件的实例化 .224.2.4 Word 输入插件的实现 .234.3 新增插件 数据转换 .254.3.1 单位换算 .254.3.2 字段清理 .284.3.3 提取数字 .294.3.4 全半角转换 .304.3.5 日期规格化 .304.4 新增插件 word 输出 .314.5 新增功能 DM 数据库连接 .334.6 本章小结 .34结束语 .35IV论文总结 .35未来展望 .36致谢 .37参考文献 .3811 绪论1.1 课题背景及目的随着互联

11、网技术的发展与普及,信息交流速度加快,计算机给各行业带来了近乎革命性的变化。传统的办公方式,如纸质的信息传播存储、口头告知等效率低下,严重制约着企业的发展。由于信息技术的快速更新和实体间选择的差异,企业的不同部门使用不同的数据库管理系统的现象十分普遍。因此,异构数据库间数据转换的要求是十分普遍的,不同部门之间的数据交换问题也越来越突出。另外,当数据库系统升级时,为了最大程度地利用现有企业内外部的资源、避免重复开发导致的的浪费,异种数据库操作的问题也必须得到解决。在数据库需要使用外部数据时也存在着异构数据库操作问题。那些基于不同平台不同类型的分布式的关系数据库如 access,DM ,oracl

12、e 等需要数据共享和转换,如何实现异构数据间转换及如何提高其性能显得非常重要和迫切。关于数据转换工具的功能需求,只要从两个方面的要求来说:数据导入导出和数据整合。 数据的导入导出a. 提供达梦数据库与 oracle 数据库之间的数据转换工具;b. 提供 excel 文件与数据库之间的数据导入导出工具;c. 提供数据库到文本文件(txt、doc) 的导出工具。 数据整合数据整合是共享或合并来自于两个或多个数据源的数据,创建一个更多功能的应用的过程。课题中主要实现数据库数据结构的整合,为了实现旧数据库数据向新的数据库的导入导出,需分析新旧数据库的数据结构的变化,在保证源数据库表结构不变的情况下,在

13、中间过程对数据库表结构进行重整,使得数据能够完整、正确的导入到目标数据库中,从而到达实现数据整合的目的。数据转换工具将提供数据库之间的数据相互转换,如果只是库表字段不统一,那么将两表之间意思相同的字段进行对应,缺少的字段可以新增,Comment z1: 参考文献应该大部分都引用,可加上达梦的用户手册作为参考文献2多余的字段进行删减,然后利用转换工具将两表对应,实现数据库表之间的数据转换。1.2 课题国内外转换工具概况大多数的大型主流的数据库管理系统都有自带的或是所在公司研发的数据导入导出工具,现今也有很多的 ETL工具能够实现数据转换。这里主要介绍DM和 oracle数据库的数据导入导出工具以

14、及常见的开源 ETL工具。1.2.1 DM数据迁移工具武汉达梦数据库带有一个数据迁移工具,DM 数据迁移工具提供了主流大型数据库Oracle、 SQLServer、MySQL、DB2 、PostgreSQL、Informix、Kingbase、Sybase的模式、表、视图、序列、索引迁移到 DM13。它主要支持: ODBC数据源、JDBC 数据源的模式、表、视图迁移到 DM; DM数据库的模式、表、视图、序列、索引迁移到主流大型数据库Oracle、SQLServer、MySQL; DM数据库之间模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限的迁移; DM数据库模式、表、

15、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到 XML文件; DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到 SQL脚本文件; DM数据库的表、视图数据迁移到文本文件; DM数据库的表、视图数据迁移到 Excel文件; DM数据库的表、视图数据迁移到 Word文件; SQL脚本文件迁移到 DM数据库; XML文件迁移到 DM数据库; 指定格式的文本文件、Word 文件和 Excel文件迁移到 DM数据库。Comment z2: 作为三级目录是否太短了点?31.2.2 DMETL数据交换平台达梦也有自己研发的一款 ETL工具 DMETL

16、。在数据转换方面,达梦数据交换平台提供丰富的数据源和转换规则。DMETL支持各种主流数据库(达梦、Oracle 、SQLServer、 DB2、 Mysql、Sybase、PostgreSql 等)的全量和增量数据抽取和装载,还支持TXT、CSV、Excel、XML 文件、消息服务器、LDAP 服务器、WebService 等数据的抽取和装载。DMETL提供的数据转换规则包括:联合、聚合、排序、设置变量、删除重复行、数据集查找、数据质量检测、行转列、列转行、SQL 脚本、数据集查找和数据清洗转换。其中数据清洗转换内置了 40多种的数据清洗规则,对于简繁体、汉字拼音、乱码处理、字符集转换、中文数

17、字的中国特有的问题提供内置的转换规则进行处理。数据清洗规则具体如 图 1.1所示。图 1.1 DMETL支持的数据清洗规则1.2.3 Oracle Warehouse BuilderOracle Warehouse Builder(OWB)12是 oracle公司于 1998年推出的一个集成工具,主要用于帮助企业构建数据仓库。OWB 提供了一个易于使用的图形环境,4用于快速设计、部署和管理商务智能系统。其功能包括:数据模型构造和设计、数据抽取、转换和装载(ETL),元数据库管理,数据仓库的管理和分析工具的整合。OWB 的核心领域为企业元数据管理、企业业数据集成、完整的系统设计、集成质量及开放性

18、。OWB 支持复杂的提取、转换和传输过程。OWB 通过oracle 提供的透明网关技术,从 ODBC 数据源、oracle 数据库和大型主机系统中快速提取和有效的装载数据。但是 DMETL 和 OWB 的使用具有局限性,它们属于各自特定的数据库管理系统的,较依赖于具体的数据库相关产品,通用性不强 3。1.2.4 KettleKettle 是一个开源的 ETL(Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程)项目,它是由纯 java 语言编写,具有较好的移植性,绿色无需安装,数据抽取方面性能高效稳定。Kettle 的目的是:把一种或多种数据源放入到一个 ket

19、tle 中,经过 kettle 对数据的处理,从 “水壶中流出”的是按某一种指定的数据格式存储的数据 14。ETL项目很大一部分工作是在做数据转换。在输入和输出之间,数据要经过检验、连接、分割、合并、转置、排序、合并、克隆、排重、过滤、删除、替换或其他操作。Kettle支持类型广泛的数据源和数据格式并从中抽取数据,数据源包括普通关系型数据库,如常见的oracle、MS SQL Server、IBM DB/2、 Ingres、MySQL和PostgresSQL;有分隔符或固定格式的ASCII码文件;XML文件;流行的办公软件,如Access数据库和Excel电子表格;一些ERP系统,如SAP/R

20、3、oracle E-Business Suite。还能从Web Service或RSS中获取数据。除了类型广泛的数据源外,kettle 也提供了丰富的转换功能。包括:值映射、去除重复记录、合并字段、合并记录、增加常量、增加序列、字段选择、字符串剪切(string cut) 、过滤记录、字符串替换(Replace in string) 、字段拼接(Concat Fields) 、拆分字段、排序记录、列转行、行转列(Row Normaliser) 、行扁平化、计算器、合并连接、AddXML、Add a checksum、Add value fields changing sequence、Clo

21、sure Generator、Example Plugin、Get ID from slave server、Number range、String operations、Unique rows (HashSet)、XSL 5Transformation、Split fields to rows。提供缓慢变更维度、查询值、行列转换、条件分割、排序、合并、连接、聚集这些最基本的数据整合功能。然而世界上没有哪一个工具能为你提供所有能想象到的数据转换的能力,kettle也是如此。这意味着必须要有扩展功能的方法。因为kettle 是开源的免费软件,是以java平台为基础开发出来的,适合于二次开发,可以

22、通过调用外部库或是第三方API来为工具扩展数据转化功能。尽管kettle有很多的有点,它也有许多的不足之处。Kettle不支持权限管理和批量装载功能。Kettle的数据抽取性能较不稳定,数据转换的速度较慢。1.3 课题的主要工作和论文构成1.3.1 主要工作数据转换工具的设计是在 kettle 的源码基础上,针对 kettle 在数据抽取、转换、加载功能这三个方面的缺陷,对其功能进行修改和添加。在数据导入导出方面,主要是增加了数据源 word 文件。在数据抽取和数据加载方面,分别新增插件 word 输入和 word 输出。Word 输入是以 word 文件作为数据源,兼容 doc 和 docx

23、 格式的文件。数据以表格形式存储在 word 文件中,Word 输入是从一个 word 文件的表格中抽取数据。 Word 输出是生成一个 docx格式的文件,数据存储在 word 文件的表格中。再有就是改进了 DM 数据库的连接功能,从通用的数据库连接方式中分离出 DM 数据库的连接,更加便于DM 数据库和 oracle 数据库之间的数据转换。数据转换工具是通过对数据的转换、清洗实现对数据库表结构和数据类型的整合,使得数据能正确的导入到目标文件或数据库中。实现过程中,在分析总结 kettle 自带的功能插件的缺点与不足后,在数据转换方面,最终设计增加的步骤插件有:单位换算,支持长度、重量、频率、速度、功率及角度这 6 种单位的换算;字段清理,可根据设置的分隔符字符和位置清理掉其前或其后的字符串;提取数字,仅保留字符串中带符号的数字;全半角转换,将字符串中全角符号全部转换为半角符号;日期规格化,将不合法的日期规格化。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。