一种通用型数据库转换装置制造方法及图纸

技术编号:31374594 阅读:18 留言:0更新日期:2021-12-15 11:07
本发明专利技术公开了一种通用型数据库转换装置,包括创建数据库模块、解析模块和逆向模块,创建数据库模块接收编辑好的数据库设计文件,调用解析模块逐行解析数据库设计文件中的设计语句并生成对应的SQL语句,执行所述SQL语句创建数据库对象,逆向模块将目标数据库逆向生成为数据库设计文件。本发明专利技术的装置能够兼容多种数据库类型,在创建数据库时,可重复执行,能够自动判定数据库对象是否存在,对已存在的不再进行创建,以避免执行出错。从实例数据库可转化为设计文档,通过原始设计与逆向生成的文档二者比较,从而进一步实现各行业数据标准贯彻的检查。从而提高了创建数据库的效率,也减小了维护成本。了维护成本。了维护成本。

【技术实现步骤摘要】
一种通用型数据库转换装置


[0001]本申请属于数据库
,尤其涉及一种通用型数据库转换装置。

技术介绍

[0002]基于数据库运行的应用软件,有些可能需要支持多种不同的数据库类型,常见的数据库类型有ORACLE、DB2、MYSQL、SQLSERVER等。开发团队通常会先完成数据库设计,并为每一种数据库类型建立一套数据结构创建的语句,这些代码逻辑相同,但不同类型数据库的语法并不相同,因此创建数据结构的语句需要维护多份。在上线后的运维过程中,常常需要扩展或修改数据库表结构,这些代码容易出现不一致,导致软件测试的工作量较大。由于修改数据库结构的动作具有不可重复、技术要求高的特点,操作风险较大,因操作失误造成核心系统数据丢失的情况屡屡发生。为了规避风险,运维人员在升级时甚至会采取按设计逐条比对和更新数据库对象。
[0003]当建立新的项目时,需确保系统软件与数据库结构相匹配。此时,项目团队通常会先采用“按设计初始化”的方式来创建数据库结构,但往往因开发人员多、开发周期长导致数据库设计与实际执行的代码存在差异,那么数据结构与软件的源代码就会不匹配,造成软件运行错误,测试和修改周期长。
[0004]软件开发团队在开发应用软件时,在数据库设计环节,通常会使用(以下简称PD)建模,形成PDM文件。设计好后,用之生成文档和能在数据库中生成创建表的SQL语句,能够完成“开发、部署、上线运行”三个阶段。但在“运维阶段”会暴漏出一些弊端,即随着新需求出现,需要经常性地修改数据库结构,如“增加字段、表”等数据库对象。开发和运维团队通常靠人工修改或编制SQL语句来改变数据库结构。而这些SQL文件通常由于晦涩难懂、不能重复执行、已登记到PDM文件等原因遭到丢弃。经过一段时间后,PDM文件与更新的SQL文件与实际的业务数据库很可能会出现不一致,提高了项目运维的难度。当再有新的项目出现时,按PDM文件创建的数据库结构不能与系统软件相匹配,修正过程费时费力。为了确保二者相匹配,有时会采用“恢复项目数据库+清除业务数据”的方式来完成初始化数据库工作,同样会造成设计与实际出现偏差。
[0005]因此PD适合设计数据库结构,并不适合在软件产品上线后的升级维护阶段持续使用。因为PD虽然可以评估数据库设计与数据库实例的差异,并输出重建代码,但代码中存在风险较大的删除语句;若选择不输出删除语句而输出代码,会由于数据库对象已存在等原因而不能顺畅执行,导致升级和运维的难度增大。所以当碰到此场景时,升级运维人员会对数据库更新记录逐条比对和执行,耗时长且容易操作失误,存在数据丢失的重大风险。因此除了PDM文件外,还需要额外配合SQL文件,而SQL文件的数量会随着运维时间的推移变得越来越多。比如同一套软件系统有10个项目,分别使用4种不同种类的数据库(如4个db2,3个oracle,2个mss,1个mysql),之后每个项目平均每年有需要5次增加字段,1次增加10个字段时(即使假设此10个客户所增加的字段完全一样),PD并不能将这5次的变化记录下来并完全生成到数据库中,而是靠人工维护类似“alter table add
…”
的SQL语句,4种数据库就需
要维护1年20个修订SQL文件。由于文件多,发生错误的概率也大大提升。
[0006]这些SQL文件通常由于晦涩难懂、不能重复执行而极易导致遗失。过不了多久,PDM文件与实际的业务数据库可能出现不一致。造成一但再有新的工程出现,按PDM文件创建的数据库结构不能与系统软件相匹配,修正过程费时费力,降低了代码的复用性。所以PD能够很好地展现数据库设计成果,适用于一个团队开发新软件项目,但不能适应在软件产品上线后的升级维护。

技术实现思路

[0007]本申请的目的是提供一种通用型数据库转换装置,以克服现有技术在创建数据库与数据库维护时需要较高成本的问题。
[0008]为了实现上述目的,本申请技术方案如下:
[0009]一种通用型数据库转换装置,用于数据库的创建和维护,包括:
[0010]创建数据库模块,用于接收编辑好的数据库设计文件,调用解析模块逐行解析数据库设计文件中的设计语句并生成对应的SQL语句,执行所述SQL语句创建数据库对象;
[0011]解析模块,用于接受所述创建数据库模块的调用解析数据库设计文件中的设计语句并生成对应的SQL语句;
[0012]逆向模块,用于将目标数据库逆向生成为数据库设计文件。
[0013]进一步的,所述通用型数据库转换装置,还包括:
[0014]差异报告模块,用于生成数据库与数据库设计文件之间的差异报告。
[0015]进一步的,所述创建数据库模块,执行如下操作:
[0016]连接数据库;
[0017]读取数据库设计文件,从数据库设计文件中按行读取设计语句;
[0018]调用解析模块解析设计语句并生成数据库对应的SQL语句,从解析模块获取所生成的SQL语句;
[0019]在执行所生成的SQL语句时先判定对应的数据库对象是否存在,如果存在则跳过,如果不存在则在数据库中执行并提交;
[0020]判断是否到达文件尾,如果到达文件尾,则结束创建并弹出完成对话框,否则继续从数据库设计文件中按行读取设计语句并解析执行。
[0021]进一步的,所述创建数据库模块,还执行如下操作:
[0022]检查数据库设计文件中的数据库对象是否与数据库类型兼容,若不兼容,则发出预警。
[0023]进一步的,所述通用型数据库转换装置,还预先配置有各个数据库类型对应的数据库设计文件中数据类型与创建的数据库中的数据类型关系列表,所述解析模块按照所述关系列表转换对应的数据类型,生成与数据库类型相匹配的SQL语句。
[0024]进一步的,所述逆向模块,执行如下操作:
[0025]连接目标数据库;
[0026]从数据库的系统表中获取数据库对象清单;
[0027]根据获取的对象清单,生成对应的数据库设计文件。
[0028]本申请提出的一种通用型数据库转换装置,能够兼容多种数据库类型,在创建数
据库时,可重复执行,能够自动判定数据库对象是否存在,对已存在的不再进行创建,以避免执行出错。具备数据标准贯彻的检查功能,在兼容多种数据库的前提下,具备数据库实例与数据库设计文档之间的双向转换和比对功能。从实例数据库可转化为设计文档,通过原始设计与逆向生成的文档二者比较,从而进一步实现各行业数据标准贯彻的检查。从而提高了创建数据库的效率,也减小了维护成本。
附图说明
[0029]图1为本申请通用型数据库转换装置结构示意图。
具体实施方式
[0030]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0031]本申请提供的一种通用型数据库转换装置,用户数据库的创建和维护,如图1所示,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用型数据库转换装置,用于数据库的创建和维护,其特征在于,所述通用型数据库转换装置,包括:创建数据库模块,用于接收编辑好的数据库设计文件,调用解析模块逐行解析数据库设计文件中的设计语句并生成对应的SQL语句,执行所述SQL语句创建数据库对象;解析模块,用于接受所述创建数据库模块的调用解析数据库设计文件中的设计语句并生成对应的SQL语句;逆向模块,用于将目标数据库逆向生成为数据库设计文件。2.根据权利要求1所述的通用型数据库转换装置,其特征在于,所述通用型数据库转换装置,还包括:差异报告模块,用于生成数据库与数据库设计文件之间的差异报告。3.根据权利要求1所述的通用型数据库转换装置,其特征在于,所述创建数据库模块,执行如下操作:连接数据库;读取数据库设计文件,从数据库设计文件中按行读取设计语句;调用解析模块解析设计语句并生成数据库对应的SQL语句,从解析模块获取所生成的SQL语句;在执行所生成的SQL语句时先...

【专利技术属性】
技术研发人员:夏骏峰杨波
申请(专利权)人:浙江金惠科技有限公司
类型:发明
国别省市:

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

1