数据库模型的生成方法、装置、存储介质及电子设备制造方法及图纸

技术编号:37817543 阅读:10 留言:0更新日期:2023-06-09 09:48
本发明专利技术公开了一种数据库模型的生成方法、装置、存储介质及电子设备,其中,该方法包括:获取数据库的业务语句集合,其中,所述业务语句集合中包括多条业务语句;根据所述业务语句集合构造所述数据库各数据表的关联数组;根据所述关联数组生成所述数据库的表关联模型。通过本发明专利技术,提高了分析数据库模型结构的效率。提高了分析数据库模型结构的效率。提高了分析数据库模型结构的效率。

【技术实现步骤摘要】
数据库模型的生成方法、装置、存储介质及电子设备


[0001]本专利技术涉及数据处理领域,具体而言,涉及一种数据库模型的生成方法、装置、存储介质及电子设备。

技术介绍

[0002]现有数据库迁移,需要调研和分析业务数据库模型结构,相关技术中,一般是通过业务系统的数据库设计文档和业务人员交流确认业务数据库模型,但是有些业务系统上线时间很早,迭代式需求开发,开发人员流动导致历史文档和数据库模型调研和沟通确认效率低。
[0003]针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。

技术实现思路

[0004]本专利技术实施例提供了一种数据库模型的生成方法、装置、存储介质及电子设备,以解决相关技术中分析数据库模型结构效率低的技术问题。
[0005]根据本申请实施例的一个方面,提供了一种数据库模型的生成方法,包括:获取数据库的业务语句集合,其中,所述业务语句集合中包括多条业务语句;根据所述业务语句集合构造所述数据库各数据表的关联数组;根据所述关联数组生成所述数据库的表关联模型。
[0006]进一步,根据所述业务语句集合构造所述数据库各数据表的关联数组包括:解析所述业务语句集合中每条业务语句包含的数据表的表标识;计算每条业务语句包含的表标识数量;针对其中包含两个表标识的第一业务语句,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组,其中,每个关联数组用于存储存在路径映射关系的两个表标识。
[0007]进一步,所述方法还包括:针对其中只包含一个表标识的第二业务语句,提取所述第二业务语句的第三表标识,采用所述第三表标识建立独立数组,其中,每个独立数组用于存储单独查询的一个表标识。
[0008]进一步,根据所述关联数组生成所述数据库的表关联模型包括:获取所述业务语句集合中包含的所有数据表的表标识;为每一个表标识生成对应的一个节点;解析所述各数据表之间的关联数组,确定存在关联关系的数据表对,并在所述数据表对的两个节点之间创建连接线;根据所述节点以及所述连接线生成所述数据库的表关联模型。
[0009]进一步,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组包括:判断每个第一业务语句中是否包含JOIN语句,其中,JOIN语句用于指示连接两张数据表;针对其中包含JOIN语句的第一业务语句,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组。
[0010]进一步,获取数据库的业务语句集合之后,所述方法还包括:解析所述业务语句集
合中每条业务语句的语句类型;在所述业务语句集合中删除第一类语句,保留第二类语句,其中,所述第一类语句包括INSERT语句、UPDATE语句、和DELETE语句,所述第二类语句为SELECT语句。
[0011]进一步,根据所述业务语句集合构造所述数据库各数据表的关联数组之前,所述方法还包括:计算所述业务语句集合中每条业务语句的计划哈希值;通过所述计划哈希值判断各业务语句之间是否相同,并对其中相同的业务语句执行去重操作。
[0012]根据本申请实施例的另一个方面,还提供了一种数据库模型的生成装置,包括:获取模块,用于获取数据库的业务语句集合,其中,所述业务语句集合中包括多条业务语句;构造模块,用于根据所述业务语句集合构造所述数据库各数据表的关联数组;生成模块,用于根据所述关联数组生成所述数据库的表关联模型。
[0013]进一步,构造模块包括:解析单元,用于解析所述业务语句集合中每条业务语句包含的数据表的表标识;计算单元,用于计算每条业务语句包含的表标识数量;第一建立单元,用于针对其中包含两个表标识的第一业务语句,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组,其中,每个关联数组用于存储存在路径映射关系的两个表标识。
[0014]进一步,构造模块还包括:第二建立单元,用于针对其中只包含一个表标识的第二业务语句,提取所述第二业务语句的第三表标识,采用所述第三表标识建立独立数组,其中,每个独立数组用于存储单独查询的一个表标识。
[0015]进一步,生成模块包括:获取单元,用于获取所述业务语句集合中包含的所有数据表的表标识;第一生成单元,用于为每一个表标识生成对应的一个节点;创建单元,用于解析所述各数据表之间的关联数组,确定存在关联关系的数据表对,并在所述数据表对的两个节点之间创建连接线;第二生成单元,用于根据所述节点以及所述连接线生成所述数据库的表关联模型。
[0016]进一步,第一建立单元包括:判断单元,用于判断每个第一业务语句中是否包含JOIN语句,其中,JOIN语句用于指示连接两张数据表;第一建立子单元,用于针对其中包含JOIN语句的第一业务语句,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组。
[0017]进一步,装置还包括:过滤单元,用于解析所述业务语句集合中每条业务语句的语句类型;在所述业务语句集合中删除第一类语句,保留第二类语句,其中,所述第一类语句包括INSERT语句、UPDATE语句、和DELETE语句,所述第二类语句为SELECT语句。
[0018]进一步,装置还包括:去重单元,用于计算所述业务语句集合中每条业务语句的计划哈希值;通过所述计划哈希值判断各业务语句之间是否相同,并对其中相同的业务语句执行去重操作。
[0019]根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
[0020]根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
[0021]本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
[0022]通过本专利技术,获取数据库的业务语句集合,其中,所述业务语句集合中包括多条业务语句;根据业务语句集合构造数据库各数据表的关联数组;之后根据关联数组生成所述数据库的表关联模型,相较于通过数据库设计文档,或者和业务人员沟通交流确认业务数据库中的表关联关系的方式,本实施例直接通过业务语句获取表之间的关联关系并生成数据库的表关联模型,避免了查阅设计文档导致效率低,或者人员流动导致表关系无法确认的情况,有效提升了数据库业务模型调研和分析效率。
附图说明
[0023]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0024]图1是本专利技术实施例的一种计算机的硬件结构框图;
[0025]图2是根据本专利技术实施例的一种数据库模型的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库模型的生成方法,其特征在于,所述方法包括:获取数据库的业务语句集合,其中,所述业务语句集合中包括多条业务语句;根据所述业务语句集合构造所述数据库各数据表的关联数组;根据所述关联数组生成所述数据库的表关联模型。2.如权利要求1所述的方法,其特征在于,根据所述业务语句集合构造所述数据库各数据表的关联数组包括:解析所述业务语句集合中每条业务语句包含的数据表的表标识;计算每条业务语句包含的表标识数量;针对其中包含两个表标识的第一业务语句,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组,其中,每个关联数组用于存储存在路径映射关系的两个表标识。3.如权利要求2所述的方法,其特征在于,所述方法还包括:针对其中只包含一个表标识的第二业务语句,提取所述第二业务语句的第三表标识,采用所述第三表标识建立独立数组,其中,每个独立数组用于存储单独查询的一个表标识。4.如权利要求1所述的方法,其特征在于,根据所述关联数组生成所述数据库的表关联模型包括:获取所述业务语句集合中包含的所有数据表的表标识;为每一个表标识生成对应的一个节点;解析所述各数据表之间的关联数组,确定存在关联关系的数据表对,并在所述数据表对的两个节点之间创建连接线;根据所述节点以及所述连接线生成所述数据库的表关联模型。5.如权利要求2所述的方法,其特征在于,提取所述第一业务语句中的第一表标识和第二表标识,采用所述第一表标识和所述第二表标识建立关联数组包括:判断每个第一业务语句中是否包含JOIN语句,其中,JOIN语句用于指示连...

【专利技术属性】
技术研发人员:马成明
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1