数据库实体关系生成方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:25346026 阅读:23 留言:0更新日期:2020-08-21 17:05
本发明专利技术公开了一种数据库实体关系生成方法、装置、计算机设备以及计算机可读存储介质,该方法包括:获取待分析数据库实体对应的项目代码文件,从项目代码文件中提取出查询语句;对查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;对目标查询语句进行解析,获取待分析数据库实体之间的关联关系信息;根据关联关系信息生成所述待分析数据库实体之间的关系图。本发明专利技术通过分析代码把待分析数据库实体之间的关系提取出来,降低工作量大以及避免遗漏,并且最终将关联关系以图形的形式呈现出来,从而能够整体把握待分析数据库实体之间的关联关系,将理解整体系统的难度降低。

【技术实现步骤摘要】
数据库实体关系生成方法、装置、计算机设备和存储介质
本专利技术涉及
,特别涉及一种数据库实体关系生成方法、装置、计算机设备和存储介质。
技术介绍
随着系统(例如电商系统、信息系统等)的演进,系统越来越复杂,很难从整体上面理解系统。比如数据库表数量已经上千张,要搞懂他们之间关联关系就很难。而且目前电商系统在建数据库表结构时,通常不使用外键,这样表与表之间的关系就没有固化到数据库里面。随着项目的演进,数据库表越来越多,表与表之间的关系也越来越复杂,特别是一些大型项目,经过多年的演化,表与表之间的关系就很难弄清楚了,因此也很难整体理解系统。若是通过人工维护表与表之间的关系不仅工作量大,而且有可能遗漏,因此,亟需提出一种新的数据库实体关系的生成方法,以解决上述问题。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种数据库实体关系生成方法、装置、计算机设备和存储介质,以克服现有技术中通过人工维护数据库实体之间的关联关系工作量大、容易遗漏等问题。为解决上述一个或多个技术问题,本专利技术采用的技术方案是:第一方面,提供了一种数据库实体关系生成方法,该方法包括如下步骤:获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句;对所述查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息;根据所述关联关系信息生成所述待分析数据库实体之间的关系图。进一步的,所述获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句包括:采用预先设置的提取工具根据项目代码路径读取待分析数据库实体对应的项目代码文件;对所述项目代码文件进行分析,根据分析结果将所述项目代码文件中的查询语句提取出来。进一步的,所述待分析数据库实体包括数据库表,所述对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息包括:对所述目标查询语句进行解析,从解析结果中至少提取所述数据库表的名称以及关联字段名,将所述名称以及关联字段名作为关联关系信息。进一步的,在根据所述关联关系信息生成所述待分析数据库实体之间的关系图前,所述方法还包括:利用预设的分析工具对所述关联关系信息进行去重处理。第二方面,提供了一种数据库实体关系生成装置,所述装置包括:第一提取模块,用于获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句;第二提取模块,用于对所述查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;信息获取模块,用于对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息;关系生成模块,用于根据所述关联关系信息生成所述待分析数据库实体之间的关系图。进一步的,所述第一提取模块包括:代码读取单元,用于采用预先设置的提取工具根据项目代码路径读取待分析数据库实体对应的项目代码文件;语句提取单元,用于对所述项目代码文件进行分析,根据分析结果将所述项目代码文件中的查询语句提取出来。进一步的,所述信息获取模块具体用于:对所述目标查询语句进行解析,从解析结果中至少提取所述数据库表的名称以及关联字段名,将所述名称以及关联字段名作为关联关系信息。进一步的,所述装置还包括:关系去重模块,用于利用预设的分析工具对所述关联关系信息进行去重处理。第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句;对所述查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息;根据所述关联关系信息生成所述待分析数据库实体之间的关系图。第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句;对所述查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息;根据所述关联关系信息生成所述待分析数据库实体之间的关系图。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例提供的数据库实体关系生成方法、装置、计算机设备和存储介质,通过获取待分析数据库实体对应的项目代码文件,从项目代码文件中提取出查询语句,对查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句,对目标查询语句进行解析,获取待分析数据库实体之间的关联关系信息,根据关联关系信息生成待分析数据库实体之间的关系图,即通过分析代码把待分析数据库实体之间的关系提取出来,降低工作量大以及避免遗漏,并且最终将关联关系以图形的形式呈现出来,从而能够整体把握待分析数据库实体之间的关联关系,将理解整体系统的难度降低。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例示出的数据库实体关系生成方法的流程图;图2是根据一示例性实施例示出的数据库实体关系生成装置的结构示意图;图3是根据一示例性实施例示出的计算机设备的内部结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。数据库实体就是数据库管理系统中的用于方便数据管理而设定的不同数据管理对象,如数据库表、视图、存储过程等都是数据库实体。广义上讲,这些对象中所存储的数据也是数据库实体,因为它们也是确切存在着的实体。数据库实体关系用于表示数据库实体与实体之间的联系。图1是根据一示例性实施例示出的数据库实体关系生成方法的流程图,参照图1所示,该方法包括如下步骤:S1:获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句。具体的,以数据库实体为数据库表为例,通常项目代码里面有表与表的关系,我们只需要通过分析项目代码,从项目代码中把表与表之间的关系提取出来,最终呈现出来,这样我们就能整体把握表与表之间的关联关系,从而将理解整体系统的难度降低,并本文档来自技高网...

【技术保护点】
1.一种数据库实体关系生成方法,其特征在于,所述方法包括如下步骤:/n获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句;/n对所述查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;/n对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息;/n根据所述关联关系信息生成所述待分析数据库实体之间的关系图。/n

【技术特征摘要】
1.一种数据库实体关系生成方法,其特征在于,所述方法包括如下步骤:
获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句;
对所述查询语句进行解析,提取出多个待分析数据库实体关联的目标查询语句;
对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息;
根据所述关联关系信息生成所述待分析数据库实体之间的关系图。


2.根据权利要求1所述的数据库实体关系生成方法,其特征在于,所述获取待分析数据库实体对应的项目代码文件,从所述项目代码文件中提取出查询语句包括:
采用预先设置的提取工具根据项目代码路径读取待分析数据库实体对应的项目代码文件;
对所述项目代码文件进行分析,根据分析结果将所述项目代码文件中的查询语句提取出来。


3.根据权利要求1或2所述的数据库实体关系生成方法,其特征在于,所述待分析数据库实体包括数据库表,所述对所述目标查询语句进行解析,获取所述待分析数据库实体之间的关联关系信息包括:
对所述目标查询语句进行解析,从解析结果中至少提取所述数据库表的名称以及关联字段名,将所述名称以及关联字段名作为关联关系信息。


4.根据权利要求1或2所述的数据库实体关系生成方法,其特征在于,在根据所述关联关系信息生成所述待分析数据库实体之间的关系图前,所述方法还包括:
利用预设的分析工具对所述关联关系信息进行去重处理。


5.一种数据库实体关系生成装置,其特征在于,所述装置包括:
第一提取模块,用于获取待分析数据库实体对应的项目代码...

【专利技术属性】
技术研发人员:严长友
申请(专利权)人:苏宁云计算有限公司
类型:发明
国别省市:江苏;32

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

1