一种SQL语句的生成方法、数据质量管理方法及系统技术方案

技术编号:38365342 阅读:18 留言:0更新日期:2023-08-05 17:32
本发明专利技术涉及一种SQL语句的生成方法、数据质量管理方法及系统,所述生成方法包括:S10、当接收到生成指令时,服务器根据生成指令,基于SQL语句模板生成初始SQL语句;S20、当接收到针对初始SQL语句触发的编辑指令时,服务器对初始SQL语句进行编辑操作,得到第一SQL语句;S30、当接收到针对目标SQL语句触发的保存指令时,服务器对目标SQL语句执行编校操作,得到最终的SQL语句;编校操作包括:向目标SQL语句中添加目标数据表的主键信息;S40、服务器将最终的SQL语句持久化至数据库中,用于在接收到调度指令时,调用并执行最终的SQL语句,得到包含目标数据表的主键信息的执行结果。本发明专利技术的方法能够降低用户管理数据质量的技术门槛,并对异常数据进行定位。异常数据进行定位。异常数据进行定位。

【技术实现步骤摘要】
一种SQL语句的生成方法、数据质量管理方法及系统


[0001]本专利技术涉及数据质量管理
,尤其涉及一种SQL语句的生成方法、数据质量管理方法及系统。

技术介绍

[0002]数据质量指的是在组织业务管理要求下,符合数据使用者业务管理需求的评价方式。对于组织来说,只要对业务管理有价值的数据,都是高质量的数据。数据在计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里均可能引发的各类数据质量问题。通过对各个阶段的数据进行识别、度量、监控、预警等一系列管理活动,改善和提高组织的管理水平,进而使得数据质量获得进一步提高。
[0003]在医院或企业的信息化系统中,系统软件生命周期的每个环节都可能引发数据质量问题(例如重要数据缺失、数据不一致、数据重复或错误),这会导致整个系统出现问题,影响日常业务。为了改善这一情况,现有技术通常会通过设置数据质量规则,对信息化系统中的数据进行识别和监控,并生成对应的数据质量报告,然后根据数据质量报告的内容,分析被监控的信息化系统中存在的问题及操作人员的不当操作,辅助管理人员对信息化系统进行相关管理。
[0004]在实际应用中,针对通用的关系型数据库的数据监控,现有技术通常依据具体的质量规则采用SQL(StructuredQueryLanguage,结构化查询语言)语句实现。而在对数据的日常管理中需要添加质量规则时,由于使用SQL语句的技术门槛较高,因而需要由专业的且熟悉被监控系统的人员通过自定义SQL语句,用户想进行个人自定义难度较大。另外,现有技术对数据质量的监控和识别通常只关注不符合规则的数据的量,而不关心具体是哪一条数据不满足质量规则要求,无法定位具体的异常数据,也无法出具针对具体数据的数据质量报告或异常数据的明细报告。

技术实现思路

[0005](一)要解决的技术问题
[0006]鉴于现有技术的上述缺点、不足,本专利技术提供一种SQL语句的生成方法、数据质量管理方法及系统,其解决了现有技术中,使用SQL语句的技术门槛较高,无法定位具体的异常数据的技术问题。
[0007](二)技术方案
[0008]为了达到上述目的,本专利技术采用的主要技术方案包括:
[0009]第一方面,本专利技术实施例提供一种SQL语句的生成方法,包括:
[0010]S10、当接收到用户输入的生成指令时,服务器根据所述生成指令,基于SQL语句模板生成初始SQL语句;其中,
[0011]所述生成指令是用于生成筛选目标数据表中的异常数据的SQL语句的指令;
[0012]S20、当接收到用户针对初始SQL语句触发的编辑指令时,所述服务器对所述初始
SQL语句进行编辑操作,得到第一SQL语句;
[0013]S30、当接收到用户针对目标SQL语句触发的保存指令时,所述服务器对所述目标SQL语句执行编校操作,得到最终的SQL语句;其中,
[0014]所述目标SQL语句包括:初始SQL语句和第一SQL语句;
[0015]所述编校操作包括:向目标SQL语句中添加目标数据表的主键信息;
[0016]S40、所述服务器将所述最终的SQL语句持久化至数据库中,用于在接收到调度指令时,调用并执行所述最终的SQL语句,得到包含所述目标数据表的主键信息的执行结果。
[0017]可选地,在S10中,所述生成指令包括:目标数据表的表名信息、目标字段、质量规则类型、筛选条件;
[0018]其中,所述筛选条件包括:用于筛选目标数据表中的异常数据而设定的条件。
[0019]可选地,所述质量规则类型包括:值域限定检测、空值检测和重复数据检测。
[0020]可选地,在S10中,所述服务器根据所述生成指令,基于SQL语句模板生成初始SQL语句,包括:
[0021]S101、服务器获取所述生成指令中包含的目标数据表的表名信息、目标字段、质量规则类型、筛选条件;
[0022]S102、所述服务器判断所述目标数据表是否存在主键,
[0023]若否,输出SQL语句生成失败提示;
[0024]若是,根据所述质量规则类型获取关联的SQL语句模板作为原始模板,将所述目标数据表的表名信息填入原始模板的预设表名位置、将所述目标字段填入原始模板的第一预设查询字段位置、将筛选条件填入原始模板的预设过滤条件位置,得到初始SQL语句;
[0025]其中,所述表名信息包括用户直接输入的表名,或者,用户输入的用于指向目标数据表的SQL语句。
[0026]可选地,在S30中,所述编校操作包括:
[0027]S301、服务器拆分所述目标SQL语句,得到均为简单语句的第二SQL语句;
[0028]S302、所述服务器基于SQL校验工具对所述第二SQL语句进行语法校验,
[0029]若语法校验不通过,输出语法错误提示;
[0030]若语法校验通过,跳转至步骤S303;
[0031]S303、所述服务器提取所有第二SQL语句中包含的中间数据表的表名;
[0032]S304、所述服务器根据所述中间数据表的表名和依赖关系确定主表;
[0033]S305、所述服务器获取所述主表的主键的字段名称,将所述主表的主键的字段名称填入目标SQL语句的第二预设查询字段位置,得到最终的SQL语句。
[0034]可选地,所述S301包括:
[0035]S301

1、根据预先定义的正则表达式对所述目标SQL语句进行拆分,得到子SQL语句;
[0036]S301

2、判断所述子SQL语句是否为简单语句,若否,对所述子SQL语句执行步骤S301

1,直至得到的所有子SQL语句均为简单语句,跳转至步骤S301

3;
[0037]S301

3、将得到的所述子SQL语句作为第二SQL语句输出。
[0038]第二方面,本专利技术实施例提供一种数据质量管理方法,包括:
[0039]服务器基于任务调度工具,根据调度指令设定的调度时间策略,从数据库中调取
对应的任务SQL语句并执行,将执行结果中异常数据对应的主键的值持久化至数据库中;
[0040]其中,所述任务SQL语句包括基于权利要求1

6生成并持久化至所述数据库中的最终的SQL语句。
[0041]可选地,服务器在从数据库中调取对应的任务SQL语句并执行时,还包括:
[0042]所述服务器记录当前任务SQL语句的执行结果中出现异常数据的次数,当所述次数大于预设值时,将当前任务SQL语句在所述任务调度工具中的启用状态设置为关闭。
[0043]可选地,所述任务调度工具基于调度指令中包含的cron表达式执行调度操作,所述调度操作包括:
[0044]在cron表达式定义的调度时间到达时,触发所述服务器从数据库中调取对应的任务SQL语句并执行。
[0045本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL语句的生成方法,其特征在于,所述生成方法包括:S10、当接收到用户输入的生成指令时,服务器根据所述生成指令,基于SQL语句模板生成初始SQL语句;其中,所述生成指令是用于生成筛选目标数据表中的异常数据的SQL语句的指令;S20、当接收到用户针对初始SQL语句触发的编辑指令时,所述服务器对所述初始SQL语句进行编辑操作,得到第一SQL语句;S30、当接收到用户针对目标SQL语句触发的保存指令时,所述服务器对所述目标SQL语句执行编校操作,得到最终的SQL语句;其中,所述目标SQL语句包括:初始SQL语句和第一SQL语句;所述编校操作包括:向目标SQL语句中添加目标数据表的主键信息;S40、所述服务器将所述最终的SQL语句持久化至数据库中,用于在接收到调度指令时,调用并执行所述最终的SQL语句,得到包含所述目标数据表的主键信息的执行结果。2.根据权利要求1所述的生成方法,其特征在于,在S10中,所述生成指令包括:目标数据表的表名信息、目标字段、质量规则类型、筛选条件;其中,所述筛选条件包括:用于筛选目标数据表中的异常数据而设定的条件。3.根据权利要求2所述的生成方法,其特征在于,所述质量规则类型包括:值域限定检测、空值检测和重复数据检测。4.根据权利要求2所述的生成方法,其特征在于,在S10中,所述服务器根据所述生成指令,基于SQL语句模板生成初始SQL语句,包括:S101、服务器获取所述生成指令中包含的目标数据表的表名信息、目标字段、质量规则类型、筛选条件;S102、所述服务器判断所述目标数据表是否存在主键,若否,输出SQL语句生成失败提示;若是,根据所述质量规则类型获取关联的SQL语句模板作为原始模板,将所述目标数据表的表名信息填入原始模板的预设表名位置、将所述目标字段填入原始模板的第一预设查询字段位置、将筛选条件填入原始模板的预设过滤条件位置,得到初始SQL语句;其中,所述表名信息包括用户直接输入的表名,或者,用户输入的用于指向目标数据表的SQL语句。5.根据权利要求4所述的生成方法,其特征在于,在S30中,所述编校操作包括:S301、服务器拆分所述目标SQL语句,得到均为简单语句的第二SQL语句;S302、所述服务器基于SQL校验工具对所述第二SQL语句进行语法校验,若语法校验不通过,输出语法错误提示;若语法校验通过,跳转至步骤S303;S303、所述服务器提取所有第二SQL语句中包含的中间数据表的表名;S304、所述服务器根据所述中间数据表的表名和依赖关系确定主表;S305、所述服务器获取...

【专利技术属性】
技术研发人员:王万王瑞肖缘
申请(专利权)人:成都信通网易医疗科技发展有限公司
类型:发明
国别省市:

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

1