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

推测数据库字段含义的方法

文献发布时间:2023-06-19 11:35:49


推测数据库字段含义的方法

技术领域

本发明具体涉及一种推测数据库字段含义的方法。

背景技术

在信息化高度发达的当前社会,各类企事业单位都有各类信息化系统,但是由于各类原因,这些信息化系统中的数据库可能会有数据库字段缺乏注释、数据库文档不齐全、数据库字段未使用等各类问题。这些问题会导致系统升级改造困难、数据治理困难、数据难以分析、系统难以使用等。很多业务系统因为此类问题只有推翻重建,浪费了大量的人力物力和社会资源。

本发明通过各类方法来推测数据库自身的未知字段的中文含义,并且能够用户的标记确认这些未知字段推测的准确性,为上面的问题提供了新的解决思路,有极大的社会意义。

发明内容

本发明的目的在于针对现有技术的不足,提供一种推测数据库字段含义的方法,该推测数据库字段含义的方法可以很好地解决上述问题。

为达到上述要求,本发明采取的技术方案是:提供一种推测数据库字段含义的方法,该推测数据库字段含义的方法包括如下步骤:

S1:总结常见的字段知识库,获取常见字段名的三个常见注释以及注释的分值;

S2:判断字段是否是英文或者类似英文,如果是英文或者类似英文,那么字段含义为其中文翻译;

S3:判断没有中文注释的字段与同一数据库中其他有中文注释字段的相似度,相似度高的字段有相同的含义;

S4:根据上述方法得到不同的中文注释以及其分值;

S5:根据推荐的结果选择这个字段真正的含义,若以上结果都不在用户选择范围内,那么用户进行自定义书写,用户标记的结果会影响以后的推荐准确程度。

该推测数据库字段含义的方法具有的优点如下:

该方法通过知识库和机器学习的技术结合,多种方法猜测字段的未知中文注释,能够较好的获取未知字段真正的含义,为下一步的数据治理工作做了良好的前期工作。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示意性地示出了根据本申请一个实施例的流程示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。

在以下描述中,对“一个实施例”、“实施例”、“一个示例”、“示例”等等的引用表明如此描述的实施例或示例可以包括特定特征、结构、特性、性质、元素或限度,但并非每个实施例或示例都必然包括特定特征、结构、特性、性质、元素或限度。另外,重复使用短语“根据本申请的一个实施例”虽然有可能是指代相同实施例,但并非必然指代相同的实施例。

为简单起见,以下描述中省略了本领域技术人员公知的某些技术特征。

根据本申请的一个实施例,提供一种推测数据库字段含义的方法,如图1所示,包括本发明的具体步骤如下:

S1总结常见的字段知识库,获取常见字段名的三个常见注释以及注释的分值。

S1.1获取一批常见的数据库元数据信息,将数据库字段统一处理为大写,保留其中有中文注释的字段,其中包含字段Z1,Z2…Zi。建立字段与中文注释的映射表。如表1所示:

表1

S1.2一个字段可能有多个中文注释,如字段Zx有{x1,x2,x3……xn}n个中文注释,那么按照n个中文注释出现的次数统计排序,保留前三的中文注释,分别赋予分值为a1,a2,a3(a1>a2>a3)。

S1.3根据S1.2的规则遍历所有字段,让其中有中文注释的字段保留n(n<=3)个中文含义,并且每个中文含义都有对应的分值。

S1.4通过这种方法获取i个字段的中文含义以及每个中文含义对应的分值,这些数据作为知识库。

S1.5如果有一个数据库,里面有一个没有中文注释的字段,可以通过字段名称去知识库中匹配对应的名称,并且找到对应的n个中文含义及其分值。这种推测方法记为方法A。

S2.判断某个字段是否是英文或者类似英文,如果是英文或者类似英文,那么字段含义可能为其中文翻译。

S2.1获取一批常见的数据库元数据信息,将数据库字段统一处理为大写,其中包含字段Z1,Z2…Zi。通过代码判断这些字段是否是英文单词,如果是是英文单词,就通过在线翻译API,取得其翻译后的中文含义。

S2.2一个字段可能有多个中文翻译,如字段Z1有{x1,x2,x3……xn}n个中文翻译,那么按照n个中文注释出现的次数统计排序,保留前三的中文注释,赋予其分值为b1,b2,b3(b1>b2>b3)。

S2.3如果有一个数据库,里面有一个没有中文注释的字段,以上方法为这些字段获取了中文注释及中文注释的分值,把这种方法记为方法B。

S3判断某个没有中文注释的字段与同一数据库中其他有中文注释字段的相似度,相似度较高的字段可能有相同的含义。如id1和id的字段都表示主键。

S3.1获取一个没有中文注释的字段Z1处理为大写,一个有中文注释字段的Z2也处理为大写,通过编辑距离来获取两者编辑次数,次数越多,相似值越小。两者之间的编辑距离为D1,编辑距离计算方式如下所示:

将两个字符串a、b的Levenshtein Distance表示为lev

关于上述公式具体阐述如下:

定义lev

当min(i,j)=0的时候,对应着字符串a中前i个字符和字符串b中前j个字符,此时的i,j有一个值为0,表示字符串a和b中有一个为空串,那么从a转到b只需要进行max(i,j)次单字符编辑操作即可,所以他们之间的编辑距离为max(i,j),即i,j中的最大者。

S3.2 Z1在同一个数据库中与所有有中文注释的字段计算编辑距离,获得一组编辑距离的集合{D1,D2,D3…Dn},将n个编辑距离从小到大排序,保留前三排名的编辑距离对应的字段及其中文注释,赋予其值为c1,c2,c3(c1>c2>c3)。

S3.3如果有一个数据库,里面有一个没有中文注释的字段,以上方法为这些字段获取了中文注释及中文注释的权重,把这种方法记为方法C。

S4.已知某个未知中文含义的字段Zx,根据根据以上不同的方法得到不同的中文注释以及其分值。

S4.1方法A得到a1,a2,a3;方法B得到b1,b2,b3;方法C得到c1,c2,c3。

S4.2根据方法A、B、C的有效程度,分别给方法A、方法B、方法C赋予权重为{x,y,z}∈(0,1)。方法A的分值应该乘以它的权重,如a1x,a2x,a3x;方法B、方法C同理。

S4.3根据方法A、B、C对字段Zx所得到的中文注释的分值来进行排序,排序后的中文注释先后顺序表示的这个字段所得到的中文含义可能性,按照这个排序和分值对用户推荐。

S5用户根据推荐的结果选择这个字段真正的含义,以上结果都不在用户选择范围内,那么用户可以自定义书写,用户标记的结果会影响以后的推荐准确程度。

S5.1如果多个数据库,同一个名称的字段被n次以上标记为某个中文注释或自定义同一中文注释,那么将这个中文注释与这个字段的映射放入方法A的知识库中。

S5.2如果某个字段被自定义为某个名称,那么将自定义书写的放入方A的知识库中,分值设置为当前字段所有映射的中文注释中的最低分值。

根据本申请的一个实施例,该推测数据库字段含义的方法使用多种个方法综合评估一个未知字段的正确含义,同时用户确认推荐的字段中文含义能提高以后推荐的准确率,并且使用剪切距离来判断数据库字段的相似度,从而推测其中文含义。

以上所述实施例仅表示本发明的几种实施方式,其描述较为具体和详细,但并不能理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明保护范围。因此本发明的保护范围应该以所述权利要求为准。

相关技术
  • 推测数据库字段含义的方法
  • 一种数据库中数据表字段含义分析方法
技术分类

06120112986369