掌桥专利:专业的专利平台
掌桥专利
首页

一种基于数据字典的数据规范检验方法及系统

文献发布时间:2024-04-18 19:53:33


一种基于数据字典的数据规范检验方法及系统

技术领域

本发明涉及企业信息系统建设领域,尤其涉及一种基于数据字典的数据规范检验方法及系统。

背景技术

在企业信息系统建设过程中,字段的命名、类型、使用场景等在各个业务系统都各不相同,数据库建模普遍缺乏统一的字段设计标准,数据字段的合规性是保障数据质量和系统稳定性的关键因素之一。数据字典是记录数据元素的定义、格式、来源、用途和限制等信息的一种数据管理工具,通过统一定义字典项的中文名称、英文名称、类型、含义、使用场景等能够减少数据建模过程中的不规范现象。在此基础上,使用ANTLR(ANotherTool forLanguage Recognition)能够处理结构化文本数据,通过编写相应的语法规则,解析用户传输的文本或者通过查询数据库元数据信息获取到的数据库建模语句,解析出语句中相应的字段名称、类型、长度等,比对是否与数据字典中的数据元素所预期的结构和规则相符合。使用ANTLR进行数据字典的校验,能够充分利用ANTLR的解析生成能力,高效地实现数据字典的校验需求。

1、基于业务人员人工检验评审数据库字段设计。

2、通过查询数据库元数据中的名称、类型、长度,比对数据字典中定义的名称、类型、长度等进行检验。

1.人工检验数据库字段设计的问题

1.1人为遗漏导致检验不足

依赖于业务人员的人工检验,存在人为主观因素,可能导致遗漏,使数据库字段设计的检验结果不够全面和准确。

1.2高成本与耗时

人工检验方式需要大量的人力和时间投入,成本较高,且较为耗时。在信息化建设过程中,这种方式可能导致项目需要承担较大的成本压力,影响项目的进度和效率。

2查询数据库系统元数据的问题

2.1依赖于数据库元数据表

通过查询数据库元数据表进行检验,必须依赖于这些元数据信息。不同数据库系统的元数据表结构各异,需要额外的人力和时间进行适配,增加了操作的复杂性和成本。

2.2无法在数据库执行前拦截检验

该方法只能在查询数据库系统元数据时进行检验,而不能在系统研发人员编写完建模语句发往数据库执行之前进行拦截式检验。这导致了在实际执行数据库语句前无法及时发现和纠正潜在的字段设计问题。

发明内容

鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于数据字典的数据规范检验方法及系统。

根据本发明的一个方面,提供了一种基于数据字典的数据规范检验方法,所述检验方法包括:

添加数据库连接信息;

查询数据库元数据获取数据库建模语句;

使用ANTLR解析数据库建模语句,获得数据库对应的属性信息;

录入数据元素的特征信息,获取文件信息;

查询获取到所述文件信息,将解析到建模语句中的字段名、类型、长度信息进行比对,输出比对的结果。

可选的,所述数据库连接信息包括:连接名称、连接地址、端口号、用户名、密码的信息。

可选的,所述添加数据库连接信息之后还包括:在IDE页面查看数据库中的表结构和表数据,在SQL编辑界面编写SQL语句。

可选的,所述查询数据库元数据获取数据库建模语句具体包括:

查询数据库元数据获取数据库建模语句;

通过HTTP接口接收需要执行的数据库建模语句;

拦截SQL编辑界面编写的SQL语句。

可选的,所述数据库对应的属性信息具体包括:表名、字段名和类型。

可选的,所述数据元素的特征信息具体包括:定义、格式、来源、用途和限制。

可选的,所述文件信息具体包括:中文名称、英文名称、类型、长度信息。

本发明还提供了一种基于数据字典的数据规范检验系统,应用上述所述的一种基于数据字典的数据规范检验方法,所述检验方法包括:

IDE模块,用于添加数据库连接信息;

数据库建模语句获取模块,用于查询数据库元数据获取数据库建模语句;

语法解析模块,用于使用ANTLR解析数据库建模语句,获得数据库对应的属性信息;

数据字典模块,用于录入数据元素的特征信息,获取文件信息;

检验模块,用于查询获取到所述文件信息,将解析到建模语句中的字段名、类型、长度信息进行比对,输出比对的结果。

本发明提供的一种基于数据字典的数据规范检验方法及系统,所述检验方法包括:添加数据库连接信息;查询数据库元数据获取数据库建模语句;使用ANTLR解析数据库建模语句,获得数据库对应的属性信息;录入数据元素的特征信息,获取文件信息;查询获取到所述文件信息,将解析到建模语句中的字段名、类型、长度信息进行比对,输出比对的结果。提供一种更加智能、高效、低成本的检验方法,提升信息化建设的质量和效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其它的附图。

图1为本发明实施例提供的一种基于数据字典的数据规范检验方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,能够以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。

下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。

一种基于ANTLR和数据字典的数据规范检验系统包含以下模块:

IDE模块:添加数据库连接信息,包含连接名称、连接地址、端口号、用户名、密码信息,在IDE页面查看数据库中的表结构和表数据,在SQL编辑界面编写SQL语句。

数据库建模语句获取模块:查询数据库元数据获取数据库建模语句或通过HTTP接口接收需要执行的数据库建模语句或拦截SQL编辑界面编写的SQL语句。

语法解析模块:使用ANTLR解析数据库建模语句,得到数据库对应的表名、字段名、类型信息。

数据字典模块:录入数据元素的定义、格式、来源、用途和限制信息。

检验模块:查询数据字典模块获取到中文名称、英文名称、类型、长度信息,将语法解析模块解析到建模语句中的字段名、类型、长度信息进行比对,输出比对的结果。

本发明提供的一种基于ANTLR和数据字典的数据规范检验系统包含以下步骤:

图1是本发明实施例提供的一种基于ANTLR和数据字典的数据规范检验方法的实现流程图,参照图1,包括:

步骤1:在IDE模块,填写数据库的连接地址、端口号、用户名、密码等信息并保存到OceanBase数据库中进行存储。

步骤2:第一种方式,在IDE界面编写要执行的SQL语句,在界面点击执行按钮,程序中获取到执行的SQL语句。第二种方式,业务人员点击校验按钮,系统通过查询第一步中存储到OceanBase的连接信息,通过DBMS_METADATA.GET_DDL方法或者show create table语句从目标数据库获取建表语句。第三种方式,业务人员通过REST接口的方式将自己编写的SQL语句传输到本系统。

步骤3:将上一步骤中获取到的建表语句,调用sqlAnalysis方法,通过ANTLR分析目标的结构化查询语言SQL语句,得到语法树ParseTree;对ParseTree进行遍历,得到表名、字段名、类型、长度信息。

步骤4:查询数据字典中所有的数据元素信息,获取到数据字段的中文名称、英文名称、类型、长度信息。

步骤5:使用步骤3种获取到字段名去步骤4中获取到的数据字典信息的英文名称中查找,若无法找到,将字段标记为不符合规则。若查到相关字段,则依次比较两者类型、长度是否相符,若任意一项不相符,将字段标记为不符合规则。

步骤6:将建模语句中的所有字段进行输出,并展示字段名、字段是否符合规则。

有益效果:

自动化检验机制:

引入自动化检验机制,减少对业务人员的依赖,通过算法和规则实现对数据库字段设计的全面检验,避免人为遗漏问题。

拦截式检验功能:

既能够通过查询数据库元数据做到对系统现有数据库字段的检验,也能够实现在系统研发人员编写完建模语句发往数据库执行之前的拦截式检验,通过预先检测和纠正字段设计问题,降低问题进入数据库的可能性,提高系统的稳定性和质量。

高效率与低成本:

通过自动化和智能化的检验方式,降低了人力投入,提高了检验效率,从而降低了信息化建设过程中的成本压力。

本发明为数据库字段设计提供一种更加智能、高效、低成本的检验方法,提升信息化建设的质量和效率。

以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116339352