CN110727676B - 数据表主键、外键识别方法、装置、设备和存储介质 - Google Patents

数据表主键、外键识别方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110727676B
CN110727676B CN201910664542.1A CN201910664542A CN110727676B CN 110727676 B CN110727676 B CN 110727676B CN 201910664542 A CN201910664542 A CN 201910664542A CN 110727676 B CN110727676 B CN 110727676B
Authority
CN
China
Prior art keywords
column
data
columns
type
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910664542.1A
Other languages
English (en)
Other versions
CN110727676A (zh
Inventor
刘飞燕
李敏
金建良
林健
吴林强
许琮浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Zhongyun Data Technology Co ltd
Huzhou Big Data Operation Co ltd
Hangzhou City Big Data Operation Co ltd
Original Assignee
Hangzhou Zhongyun Data Technology Co ltd
Huzhou Big Data Operation Co ltd
Hangzhou City Big Data Operation Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Zhongyun Data Technology Co ltd, Huzhou Big Data Operation Co ltd, Hangzhou City Big Data Operation Co ltd filed Critical Hangzhou Zhongyun Data Technology Co ltd
Priority to CN201910664542.1A priority Critical patent/CN110727676B/zh
Publication of CN110727676A publication Critical patent/CN110727676A/zh
Application granted granted Critical
Publication of CN110727676B publication Critical patent/CN110727676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种数据表主键、外键识别方法、装置、设备和存储介质,所述方法包括:获取数据表;确定表各列的真实列类型;对属于同一类型的列,采用预设的包含依赖关系识别模型识别其中的包含依赖关系;确定各列列名的词向量;确定各列列名之间的相似度;基于各列之间的相似度,从包含依赖关系中筛选出最终的主‑外键连接关系和外‑外键连接关系;从具有外‑外键连接关系的列对中筛选出复合主‑外键连接关系。本发明实施例提供的数据表主键、外键识别方法,综合列数据与列名的词向量两个角度筛选出主键与外键及其连接关系,识别的主键与外键及其连接关系准确率更高,进一步可以识别出复合主键与外键。

Description

数据表主键、外键识别方法、装置、设备和存储介质
技术领域
本发明属于计算机技术领域,尤其涉及一种数据表主键、外键识别方法、装置设备和存储介质。
背景技术
在建立关系数据库中,主键和外键常常起着至关重要的作用,主键列是指可以用于数据表中唯一标识某一条记录的列,外键列用于表示该列要引用其它某表中主键。在大多数情况下,在建立数据库时,技术人员通常都会指定并标识主键、外键。然而,有的时候,由于各种因素,数据库也会缺失主键和外键,或者标识不清楚。
而针对于缺失主键和外键的数据库,考虑到计算量,人工去筛选、识别主键和外键显然是不现实的。因此,通常需要根据主键与外键的定义利用计算机程序去识别数据库的主键和外键。然而现有的识别主键和外键的算法,主要都是依赖与数据库中各列的列名或原有的标注来识别主键和外键,这也导致了现有的识别主键和外键的算法识别准确率不高。
可见,现有的识别数据表主键和外键的方法还存在着准确率不高的技术问题。
发明内容
本发明实施例的目的在于提供一种数据表主键、外键识别方法、装置、设备和存储介质,旨在解决现有的用于识别数据表主键和外键的方法还存在的准确率不高的技术问题。
本发明实施例是这样实现的,一种数据表主键、外键识别方法,所述方法包括:
获取数据库中待识别主键、外键的多个数据表,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据;
根据各数据列的列数据确定各数据列的真实的列类型,所述真实的列类型包括数值型和字符型;
对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系;
对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对;
基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量;
根据各数据列的词向量确定各数据列之间的相似度;
根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对;
根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对;
从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
本发明实施例的另一目的在于提供一种数据表主键、外键识别装置,包括:
数据表获取单元,用于获取数据库中待识别主键、外键的多个数据表,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据;
列真实类型确定单元,用于根据各数据列的列数据确定各数据列的真实的列类型,所述真实的列类型包括数值型和字符型;
数值型数据列包含依赖关系识别单元,用于对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系;
字符型数据列包含依赖关系识别单元,用于对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对;
词向量构建单元,用于基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量;
相似度确定单元,用于根据各数据列的词向量确定各数据列之间的相似度;
主-外键连接关系确定单元,用于根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对;
外-外键连接关系确定单元,用于根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对;
复合主-外键连接关系确定单元,用于从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
本发明实施例的另一目的在于提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述所述数据表主键、外键识别方法的步骤。
本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述所述数据表主键、外键识别方法的步骤。
本发明实施例提供的一种数据表主键、外键识别方法,在获取数据库中待识别主键、外键的多个数据表后,先根据数据表中各数据列的列数据确定各数据列的真实的列类型,包括数值型和字符型,然后针对不同列类型的数据列采用预先设置的包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,然后基于预设的词向量构建模型确定各数据列的词向量并进一步根据各数据列的词向量确定各数据列之间的相似度,最终结合各数据列之间的相似度从存在包含依赖关系的数据列对中筛选出存在最终的主-外键列连接关系的数据列对,从而确定数据表的主键与外键,并进一步从所述存在包含依赖关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对,从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。本发明实施例提供的一种数据表主键、外键识别方法,在识别主键和外键的过程中,先根据各数据列的列数据确定各数据列的真实的列类型,避免因技术人员误标使得列类型与真实的列类型不同而导致识别结果不准确的问题,提高了识别的准确率,在利用预设的不同的包含依赖关系识别模型分别针对不同数据类型的列识别其中的存在包含依赖关系的数据列对,进一步结合词向量构建模型确定出的各数据列的词向量所确定各数据列之间的相似度,从存在包含依赖关系的数据列对筛选出存在最终的主-外键连接关系和外-外键连接关系,综合列数据与列名的词向量两个角度筛选出主键与外键及其连接关系,识别出的主键与外键准确率更高。同时,还可以进一步从存在外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对,填补了现有的复合主键与外键识别方法的空白。
附图说明
图1为本发明实施例提供的一种数据表主键、外键识别方法的步骤流程图;
图2为本发明实施例提供的另一种数据表主键、外键识别方法的步骤流程图;
图3为本发明实施例提供的又一种数据表主键、外键识别方法的步骤流程图;
图4为本发明实施例提供的对同属于数值型的数据列识别其中的存在包含依赖关系的数据列对的方法的步骤流程图;
图5为本发明实施例提供的对同属于字符型的数据列识别其中的存在包含依赖关系的数据列对的方法的步骤流程图;
图6为本发明实施例提供的基于相似度筛选出存在最终的主-外键连接关系的数据列对的方法的步骤流程图;
图7为本发明实施例提供的筛选出存在复合主-外键连接关系的数据列对方法的步骤流程图;
图8为本发明实施例提供的一种数据表主键、外键识别装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提出了一种数据表主键、外键识别方法,具体可以包括以下步骤:
步骤S102,获取数据库中待识别主键、外键的多个数据表。
在本发明实施例中,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据。
在本发明实施例中,所述主键和外键为数据库中常用技术术语,属于本领域技术人员的公知常识,在此不再赘述。当某数据表中一列数据依赖于另一张数据表中的具有唯一性的一列数据时,则该两张数据表存在连接关系,其中称该两列数据分别为外键列以及主键列。
在本发明实施例中,可以理解,主键列和主键表述的意思相同,外键列和外键表述的意思相同,主键列等同于主键,外键列等同于外键。
步骤S104,根据各数据列的列数据确定各数据列的真实的列类型。
在本发明实施例中,考虑到技术人员在建立数据表时,可能会存在将列类型标注错误或漏标注列类型的情况而导致识别结果不准确,因此,先根据各数据列的列数据确定各数据列的真实的列类型能够有效地提高识别的准确率。
在本发明实施例中,由于数据表中一般常采用数值型或字符型的列作为主键或者外键列,因此在确定各列的列类型后,主要是对列类型为数值型或字符型的数据列进行识别,以识别其中的主键列和外键列。
在本发明实施例中,所述数值型数据列是指列数据均为数值的数据列,字符型数据列是指列数据均为字符的数据列。
步骤S106,对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对。
在本发明实施例中,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系。
在本发明实施例中,所述可能的主-外键连接关系以及可能的外-外键连接关系是指由预设的数值型包含依赖关系识别模型所识别出来的主-外键连接关系以及可能的外-外键连接关系,具体还需要通过后续的步骤进行进一步筛选。
在本发明实施例中,具体的对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对的步骤请参阅图4及其解释说明。
步骤S108,对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对。
在本发明实施例中,与数值型数据列相似,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系。
在本发明实施例中,与数值型数据列相似,所述可能的主-外键连接关系以及可能的外-外键连接关系是指由预设的字符型包含依赖关系识别模型所识别出来的主-外键连接关系以及可能的外-外键连接关系,具体还需要通过后续的步骤进行进一步筛选。
在本发明实施例中,对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对的步骤流程图请参阅图5及其解释说明。
步骤S110,基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量。
在本发明实施例中,其中所述预设的词向量构建模型是预先通过大量的数据样本训练生成的,而通过词向量构建模型就能够将各数据列的列名信息、列类型信息和/或列注释信息等文本信息转化为可计算处理的向量值。
步骤S112,根据各数据列的词向量确定各数据列之间的相似度。
在本发明实施例中,基于欧氏距离可以计算出各数据列之间的相似度,而所述相似度在一定程度上表示了各数据列的列名信息、列类型信息和/或列注释信息的相似性,显然列名信息、列类型信息和/或列注释信息的相似性越高,则表明两列越可能存在包含依赖关系。
步骤S114,根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对。
在本发明实施例中,由于外键至多只能与一个主键相连,而主键则可与多个外键相连,结合各数据表中各数据列的相似度,就能够进一步筛选出存在最终的主-外键列连接关系的数据列对,具体而言,结合主-外键连接关系,当一个外键与多个主键存在连接关系时,显然不符合外键的定义,而结合该外键列与所述多个主键列之间的相似度,就可以从中筛选出可能性更高的主-外键连接关系的作为最终的主-外键连接关系,从而确定出的主键与外键准确率更高。
在本发明实施例中,通过上述方法确定的最终的主-外键连接关系在一定程度上已经接近于真实的数据表中主-外键连接关系,可以用做实际的主-外键连接关系进行后续的处理。
在本发明实施例中,所述根据各数据列之间的相似度,筛选出存在最终的外-外键连接关系的数据列对的步骤请参阅图6及其解释说明。
步骤S116,根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对。
在本发明实施例中,与主-外键连接关系相似,基于各数据列之间的相似度,并结合已经确定的主-外键连接关系,就能够进一步筛选出最终的外-外键连接关系,进一步的,还可以从所述最终的外-外键连接关系中筛选出复合主-外键连接关系。
步骤S118,从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
在本发明实施例中,所述复合主键是一种特殊形式的主键,是由多列数据列共同组成的具有唯一性的键列。
在本发明实施例中,从所述实际的外键列与外键列连接关系中筛选出复合主键与外键连接关系并输出的步骤请参阅图7及其解释说明。
本发明实施例提供的一种数据表主键、外键识别方法,在获取数据库中待识别主键、外键的多个数据表后,先根据数据表中各数据列的列数据确定各数据列的真实的列类型,包括数值型和字符型,然后针对不同列类型的数据列采用预先设置的包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,然后基于预设的词向量构建模型确定各数据列的词向量并进一步根据各数据列的词向量确定各数据列之间的相似度,最终结合各数据列之间的相似度从存在包含依赖关系的数据列对中筛选出存在最终的主-外键列连接关系的数据列对,从而确定数据表的主键与外键,并进一步从所述存在包含依赖关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对,从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。本发明实施例提供的一种数据表主键、外键识别方法,在识别主键和外键的过程中,先根据各数据列的列数据确定各数据列的真实的列类型,避免因技术人员误标使得列类型与真实的列类型不同而导致识别结果不准确的问题,提高了识别的准确率,在利用预设的不同的包含依赖关系识别模型分别针对不同数据类型的列识别其中的存在包含依赖关系的数据列对,进一步结合词向量构建模型确定出的各数据列的词向量所确定各数据列之间的相似度,从存在包含依赖关系的数据列对筛选出存在最终的主-外键连接关系和外-外键连接关系,综合列数据与列名的词向量两个角度筛选出主键与外键及其连接关系,识别出的主键与外键准确率更高。同时,还可以进一步从存在外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对,填补了现有的复合主键与外键识别方法的空白。
如图2所示,在一个实施例中,提出了另一种数据表主键、外键识别方法,与图1示出的一种数据表主键、外键识别方法的区别在于,在所述步骤S104前,还包括:
步骤S202,基于主键或外键的定义,并根据各数据列的列名信息、列类型信息和/或列注释信息对数据列进行筛选,确定可能为主键或外键的候选数据列。
在本发明实施例中,考虑到数据库一般都会有大量的数据表,并且每个数据表中也存在有许多数据列,可以想象,识别的过程需要大量的数据计算,影响了识别的效率,因此,可以通过对数据列进行预处理,确定可能为主键或外键的候选数据列。具体而言,根据各数据列的列名信息、列类型信息和/或列注释信息,将明显无法作为主键/外键的列删去,例如被标注为日期型的数据列等等,通过预处理能够明显降低数据的计算量,提高识别效率。
在本发明实施例中,可以理解,相比于图1示出的数据表主键、外键识别方法中,步骤S104~步骤S116中涉及到的数据列,均为预处理后的数据列,即候选数据列,具体请参阅步骤S204~步骤S216。
如图3所示,在一个实施例中,提出了又一种数据表主键、外键识别方法,与图1示出的一种数据表主键、外键识别方法的区别在于,在所述步骤S104前,还包括:
步骤S302,基于预设的抽样方法,从各数据列的列数据中抽取预设数量的列数据样本。
在本发明实施例中,所述抽样方法可以是按照预设的比值一次性抽样,所述预设的比值通常取为10%~15%,也可是多次反复抽样以提高数据的覆盖率,从而提高准确率。
在本发明实施例中,对于列数据量较大的数据列,通过抽样的形式可以在不丢失数据列特征的前提下,有效地降低数据计算量,即提高了计算效率。
在本发明实施例中,可以理解,相比于图1示出的数据表主键、外键识别方法中,步骤S104~步骤S116中涉及到的列数据,均为抽样处理后的列数据样本,具体请参阅步骤S304~步骤S316。
本发明实施例提供的另一种数据表主键、外键识别方法,相对于图1提供的数据表主键、外键识别方法,在开始进行主键、外键的识别步骤前,先按照预设的抽样方法对列数据进行抽样处理,可以是一次性抽样,也可以是重复多次取样以提高准确率,对于列数据的数据量较多的数据列来说,通过抽样形式能够在保留数据列特征的同时,有效降低数据计算量,提高了计算效率。
如图4所示,在一个实施例中,提出了一种对同属于数值型的列采用预设的数值型包含依赖关系识别模型识别其中的包含依赖关系的方法,具体包括以下步骤:
步骤S402,依次判断各数值型数据列的列数据是否是非重复序列。
在本发明实施例中,所述非重复序列是指没有重复数据的序列。
步骤S404,将列数据是非重复序列的数值型数据列确定为数值型包含列。
在本发明实施例中,考虑到主键具有唯一性的性质,因此,只有没有重复列数据的列,也就是列数据是非重复序列的列才可能作为主键列,因此,将列数据是非重复序列的数值型列确定为数值型包含列,数值型包含列即为潜在可能的主键列。
步骤S406,将列数据不是非重复序列的数值型数据列确定为数值型依赖列。
在本发明实施例中,列数据不是非重复序列的数值型列显然不是主键,但可能作为外键列依赖于其他数据表的主键列,因此,将列数据不是非重复序列的数值型列确定为数值型依赖列,数值型依赖列即为潜在可能的外键列。
步骤S408,根据各数值型数据列的列数据依次判断两列数值型数据列是否存在取值范围交叉关系。
在本发明实施例中,所述两列数值型数据列存在取值范围交叉关系是指第一数值型数据列的列数据的取值范围与第二数值型数据列的列数据的取值范围的取值重合范围占所述第一数值型数据列的列数据的取值范围和/或第二数值型数据列的列数据的取值范围的比值超过第一预设值,所述第一预设值优选为15%,具体可以根据需求实际进行调整。
在本发明实施例中,考虑到作为主键或外键的数值型数据列来说,通常列数据会采用连续数值等具有规律的形式,因此,可用以先根据数值型数据列的列数据确定各数值型数据列的取值范围。在确定各数值型数据列的取值范围,依次判断两列数值型列数据列的取值范围的重复范围占第一数值型数据列的列数据的取值范围和/或第二数值型数据列的列数据的取值范围的比值是否超过第一预设值,例如,对于列数据的取值范围分别为1~20和3~25的两列数据列,显然取值重合范围3~20占两列数据列的列数据的取值范围的比值较大,表明这两列数据列有更高的可能性存在包含依赖关系,而对于列数据的取值范围分别为1~100和95~200的两列数据列而言,显然取值重合范围95~100占两列数据列的列数据的取值范围的比值较小,表明两列数据列有可能性存在包含依赖关系的可能性更低。
步骤S410,当存在取值范围交叉关系的两列数值型数据列分别为数值型包含列和数值型依赖列时,将所述两列数值型数据列确定为存在可能的主-外键连接关系的数据列对。
在本发明实施例中,所述存在可能的主-外键连接关系的数据列对中的数值型包含列为可能的主键,而所述数据列对中的数值型依赖列为可能的外键。
步骤S412,当存在取值范围交叉关系的两列数值型数据列均为数值型依赖列时,将所述两列数值型数据列确定为存在可能的外-外键连接关系的数据列对。
如图5所示,在一个实施例中,提出了一种同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对的步骤的流程图,具体包括以下步骤:
步骤S502,依次判断各字符型数据列的列数据是否是非重复序列。
步骤S504,将列数据是非重复序列的字符型数据列确定为字符型包含列。
步骤S506,将列数据不是非重复序列的字符型数据列确定为字符型依赖列。
在本发明实施例中,上述步骤S502~步骤S506与数值型数据列基本相同,具体请结合前述步骤S402~S406的解释说明部分,在此不再赘述。
步骤S508,根据各字符型数据列的列数据依次判断两列字符型数据列是否存在取值相同关系。
在本发明实施例中,所述两列字符型数据列存在取值相同关系是指同时出现在第一字符型数据列的列数据中和第二字符型数据列的列数据中的列数据占所述第一字符型数据列的列数据和/或所述第二字符型数据列的列数据的比值超过第二预设值,所述第二预设值优选为15%,具体可以根据实际需求进行调整。
在本发明实施例中,与数值型数据列不同,字符型数据列不存在连续形式,因此,需要直接通过两列数据列中的列数据的相同部分的比重来确定两列字符型数据列是否存在包含依赖关系。
步骤S510,当存在取值相同关系的两列字符型数据列分别为字符型包含列和字符型依赖列时,将所述两列字符型数据列确定为存在可能的主-外键连接关系的数据列对。
步骤S512,当存在取值相同关系的两列字符型数据列均为字符型依赖列时,将所述两列字符型数据列确定为存在可能的外-外键连接关系的数据列对。
在本发明实施例中,与数值型数据列相似,具体请参阅前述步骤S410以及步骤S412的解释说明。
如图6所示,在一个实施例中,提出了一种基于相似度筛选实际主键列与外键列连接关系的方法,具体包括以下步骤:
步骤S602,判断存在可能的主-外键连接关系的数据列对中的第一数值型/字符型依赖列是否同时存在于剩余的存在可能的主-外键连接关系的数据列对中。当判断存在可能的主-外键连接关系的数据列对中的第一数值型/字符型依赖列同时存在于剩余的存在可能的主-外键连接关系的数据列对中时,执行步骤S604;当判断存在可能的主-外键连接关系的数据列对中的第一数值型/字符型依赖列没有同时存在于剩余的存在可能的主-外键连接关系的数据列对中时,执行其他步骤。
在本发明实施例中,由于一个外键只能对应于一个主键,显然当判断出一个外键与多个主键列存在可能的主-外键连接关系时,必定存在假的对应关系,因此,需要将存在的假的对应关系删去。
步骤S604,确定所述数据列对中,第一数值型/字符型依赖列与相应的数值型/字符型之间的相似度。
步骤S606,删去第一数值型/字符型依赖列与相应数值型/字符型之间的相似度更低的数据列对。
在本发明实施例中,显然数据列之间的相似度越高,则表明两列之间越可能存在对应关系,因此将相似度低的对应关系删去,保留相似度更高的对应关系。
步骤S608,重复上述步骤,直至全部存在可能的主键列与外键列连接关系的数据列对中没有相同的数值型/字符型依赖列,将处理后的存在可能的主键列与外键列连接关系的数据列对确定为存在最终的主键列与外键列连接关系的数据列对。
在本发明实施例中,基于相似度处理后的存在的主-外键连接关系的数据列对即更可能是实际的存在主-外键连接关系的数据列对。
如图7所示,在一个实施例中,提出了一种筛选复合主键与外键连接关系的方法,具体包括以下步骤:
步骤S702,获取多个存在可能的复合主-外键连接关系的数据列对。
在本发明实施例中,所述存在可能的复合主-外键连接关系的数据列对包括至少两个存在最终的外-外键列连接关系的数据列对,且所述至少两个存在最终的外-外键列连接关系的数据列对中的两列数值型/字符型依赖列分别来源于相同的数据表。
在本发明实施例中,复合主-外键连接关系是由至少两个外-外键连接关系构成,且所述两个外-外键列连接关系中外键列所属的数据表相同,例如,存在最终的外-外键连接关系的表1的列a1与表2的列a2以及存在最终的外-外键连接关系的表1的列b1和表2的列b2,此时将上述两个外-外键列连接关系组合就可以构成存在可能的复合主-外键连接关系的符合数据列对,表1的列a1、表1的列b1和表2的列a2、表2的列b2
步骤S704,将所述至少两个存在最终的外-外键列连接关系的数据列对中来源于相同的数据表的数值型/字符型依赖列分别组合。
在本发明实施例中,以表1的列a1与表2的列a2和表1的列b1和表2的列b2为例,此时将表1的列a1和列b1组合构成一个复合列,将表2的列a2和列b2构成一个复合列。
步骤S706,判断组合后的数值型/字符型依赖列是否是非重复序列。
步骤S708,将组合后的数值型/字符型依赖列是非重复序列的组合列确定为组合型包含列。
步骤S710,将组合后的数值型/字符型依赖列不是非重复序列的组合列确定为组合型依赖列。
在本发明实施例中,与数值型数据列和字符型数据列相似,具体请参阅前述步骤S402~步骤S406或者步骤S502~步骤S506的解释说明。
步骤S712,根据各组合型数据列的列数据依次判断两列组合型数据列是否存在取值相同关系。
在本发明实施例中,所述两列组合型数据列存在取值相同关系是指同时出现在第一组合型数据列的列数据中和第二组合型数据列的列数据中的列数据占所述第一组合型数据列的列数据和/或所述第二组合型数据列的列数据的比值超过第三预设值,所述第三预设值优选15%,具体可以根据实际需求进行调整。
在本发明实施例中,与字符型数据列相似,组合后的组合型数据列不存在连续形式,因此,需要直接通过两列组合型数据列中的列数据的相同部分的比重来确定两列组合型数据列是否存在包含依赖关系。
步骤S714,当存在取值相同关系的两列组合型数据列分别为组合型包含列和组合型依赖列时,将所述两列组合型数据列确定为存在符合主-外键连接关系的数据列对。
如图8所示,在一个实施例中,提出了一种数据表主键、外键识别装置,详述如下。
在本发明实施例中,所述数据表主键、外键识别装置具体包括:
数据表获取单元810,用于获取数据库中待识别主键、外键的多个数据表。
在本发明实施例中,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据。
在本发明实施例中,所述主键和外键为数据库中常用技术术语,属于本领域技术人员的公知常识,在此不再赘述。当某数据表中一列数据依赖于另一张数据表中的具有唯一性的一列数据时,则该两张数据表存在连接关系,其中称该两列数据分别为外键列以及主键列。
在本发明实施例中,可以理解,主键列和主键表述的意思相同,外键列和外键表述的意思相同,主键列等同于主键,外键列等同于外键。
列真实类型确定单元820,用于根据各数据列的列数据确定各数据列的真实的列类型。
在本发明实施例中,考虑到技术人员在建立数据表时,可能会存在将列类型标注错误或漏标注列类型的情况而导致识别结果不准确,因此,先根据各数据列的列数据确定各数据列的真实的列类型能够有效地提高识别的准确率。
在本发明实施例中,由于数据表中一般常采用数值型或字符型的列作为主键或者外键列,因此在确定各列的列类型后,主要是对列类型为数值型或字符型的数据列进行识别,以识别其中的主键列和外键列。
在本发明实施例中,所述数值型数据列是指列数据均为数值的数据列,字符型数据列是指列数据均为字符的数据列。
数值型数据列包含依赖关系识别单元830,用于对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对。
在本发明实施例中,考虑到技术人员在建立数据表时,可能会存在将列类型标注错误或漏标注列类型的情况而导致识别结果不准确,因此,先根据各数据列的列数据确定各数据列的真实的列类型能够有效地提高识别的准确率。
在本发明实施例中,由于数据表中一般常采用数值型或字符型的列作为主键或者外键列,因此在确定各列的列类型后,主要是对列类型为数值型或字符型的数据列进行识别,以识别其中的主键列和外键列。
在本发明实施例中,所述数值型数据列是指列数据均为数值的数据列,字符型数据列是指列数据均为字符的数据列。
字符型数据列包含依赖关系识别单元840,用于对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对。
在本发明实施例中,与数值型数据列相似,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系。
在本发明实施例中,与数值型数据列相似,所述可能的主-外键连接关系以及可能的外-外键连接关系是指由预设的字符型包含依赖关系识别模型所识别出来的主-外键连接关系以及可能的外-外键连接关系,具体还需要通过后续的步骤进行进一步筛选。
词向量构建单元850,用于基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量。
在本发明实施例中,其中所述预设的词向量构建模型是预先通过大量的数据样本训练生成的,而通过词向量构建模型就能够将各数据列的列名信息、列类型信息和/或列注释信息等文本信息转化为可计算处理的向量值。
相似度确定单元860,用于根据各数据列的词向量确定各数据列之间的相似度。
在本发明实施例中,基于欧氏距离可以计算出各数据列之间的相似度,而所述相似度在一定程度上表示了各数据列的列名信息、列类型信息和/或列注释信息的相似性,显然列名信息、列类型信息和/或列注释信息的相似性越高,则表明两列越可能存在包含依赖关系。
主-外键连接关系确定单元870,用于根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对。
在本发明实施例中,由于外键至多只能与一个主键相连,而主键则可与多个外键相连,结合各数据表中各数据列的相似度,就能够进一步筛选出存在最终的主-外键列连接关系的数据列对,具体而言,结合主-外键连接关系,当一个外键与多个主键存在连接关系时,显然不符合外键的定义,而结合该外键列与所述多个主键列之间的相似度,就可以从中筛选出可能性更高的主-外键连接关系的作为最终的主-外键连接关系,从而确定出的主键与外键准确率更高。
在本发明实施例中,通过上述方法确定的最终的主-外键连接关系在一定程度上已经接近于真实的数据表中主-外键连接关系,可以用做实际的主-外键连接关系进行后续的处理。
外-外键连接关系确定单元880,用于根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对。
在本发明实施例中,与主-外键连接关系相似,基于各数据列之间的相似度,并结合已经确定的主-外键连接关系,就能够进一步筛选出最终的外-外键连接关系,进一步的,还可以从所述最终的外-外键连接关系中筛选出复合主-外键连接关系。
复合主-外键连接关系确定单元890,用于从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
在本发明实施例中,所述复合主键是一种特殊形式的主键,是由多列数据列共同组成的具有唯一性的键列。
本发明实施例提供的一种数据表主键、外键识别装置,在获取数据库中待识别主键、外键的多个数据表后,先根据数据表中各数据列的列数据确定各数据列的真实的列类型,包括数值型和字符型,然后针对不同列类型的数据列采用预先设置的包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,然后基于预设的词向量构建模型确定各数据列的词向量并进一步根据各数据列的词向量确定各数据列之间的相似度,最终结合各数据列之间的相似度从存在包含依赖关系的数据列对中筛选出存在最终的主-外键列连接关系的数据列对,从而确定数据表的主键与外键,并进一步从所述存在包含依赖关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对,从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。本发明实施例提供的一种数据表主键、外键识别方法,在识别主键和外键的过程中,先根据各数据列的列数据确定各数据列的真实的列类型,避免因技术人员误标使得列类型与真实的列类型不同而导致识别结果不准确的问题,提高了识别的准确率,在利用预设的不同的包含依赖关系识别模型分别针对不同数据类型的列识别其中的存在包含依赖关系的数据列对,进一步结合词向量构建模型确定出的各数据列的词向量所确定各数据列之间的相似度,从存在包含依赖关系的数据列对筛选出存在最终的主-外键连接关系和外-外键连接关系,综合列数据与列名的词向量两个角度筛选出主键与外键及其连接关系,识别出的主键与外键准确率更高。同时,还可以进一步从存在外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对,填补了现有的复合主键与外键识别方法的空白。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取数据库中待识别主键、外键的多个数据表,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据;
根据各数据列的列数据确定各数据列的真实的列类型,所述真实的列类型包括数值型和字符型;
对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系;
对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对;
基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量;
根据各数据列的词向量确定各数据列之间的相似度;
根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对;
根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对;
从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
获取数据库中待识别主键、外键的多个数据表,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据;
根据各数据列的列数据确定各数据列的真实的列类型,所述真实的列类型包括数值型和字符型;
对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系;
对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对;
基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量;
根据各数据列的词向量确定各数据列之间的相似度;
根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对;
根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对;
从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种数据表主键、外键识别方法,其特征在于,所述方法包括:
获取数据库中待识别主键、外键的多个数据表,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据;
根据各数据列的列数据确定各数据列的真实的列类型,所述真实的列类型包括数值型和字符型;
对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系;
对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对;
基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量;
根据各数据列的词向量确定各数据列之间的相似度;
根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对;
根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对;
从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对;
所述对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对的步骤具体包括:
依次判断各数值型数据列的列数据是否是非重复序列;
将列数据是非重复序列的数值型数据列确定为数值型包含列;
将列数据不是非重复序列的数值型数据列确定为数值型依赖列;
根据各数值型数据列的列数据依次判断两列数值型数据列是否存在取值范围交叉关系,所述两列数值型数据列存在取值范围交叉关系是指第一数值型数据列的列数据的取值范围与第二数值型数据列的列数据的取值范围的取值重合范围占所述第一数值型数据列的列数据的取值范围和/或第二数值型数据列的列数据的取值范围的比值超过第一预设值;
当存在取值范围交叉关系的两列数值型数据列分别为数值型包含列和数值型依赖列时,将所述两列数值型数据列确定为存在可能的主-外键连接关系的数据列对;
当存在取值范围交叉关系的两列数值型数据列均为数值型依赖列时,将所述两列数值型数据列确定为存在可能的外-外键连接关系的数据列对;
所述对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对的步骤具体包括:
依次判断各字符型数据列的列数据是否是非重复序列;
将列数据是非重复序列的字符型数据列确定为字符型包含列;
将列数据不是非重复序列的字符型数据列确定为字符型依赖列;
根据各字符型数据列的列数据依次判断两列字符型数据列是否存在取值相同关系,所述两列字符型数据列存在取值相同关系是指同时出现在第一字符型数据列的列数据中和第二字符型数据列的列数据中的列数据占所述第一字符型数据列的列数据和/或所述第二字符型数据列的列数据的比值超过第二预设值;
当存在取值相同关系的两列字符型数据列分别为字符型包含列和字符型依赖列时,将所述两列字符型数据列确定为存在可能的主-外键连接关系的数据列对;
当存在取值相同关系的两列字符型数据列均为字符型依赖列时,将所述两列字符型数据列确定为存在可能的外-外键连接关系的数据列对;
所述根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对的步骤具体包括:
判断存在可能的主-外键连接关系的数据列对中的第一数值型/字符型依赖列是否同时存在于剩余的存在可能的主-外键连接关系的数据列对中;
当判断存在可能的主-外键连接关系的数据列对中的第一数值型/字符型依赖列同时存在于剩余的存在可能的主-外键连接关系的数据列对中,确定所述数据列对中,第一数值型/字符型依赖列与相应的数值型/字符型之间的相似度;
删去第一数值型/字符型依赖列与相应数值型/字符型之间的相似度更低的数据列对;
重复上述步骤,直至全部存在可能的主键列与外键列连接关系的数据列对中没有相同的数值型/字符型依赖列,将处理后的存在可能的主键列与外键列连接关系的数据列对确定为存在最终的主键列与外键列连接关系的数据列对。
2.根据权利要求1所述的数据表主键、外键识别方法,其特征在于,在所述根据各数据列的列数据确定各数据列的真实列类型之前,还包括步骤:
基于主键或外键的定义,并根据各数据列的列名信息、列类型信息和/或列注释信息对数据列进行筛选,确定可能为主键或外键的候选数据列。
3.根据权利要求1所述的数据表主键、外键识别方法,其特征在于,在所述根据各数据列的列数据确定各数据列的真实列类型的步骤前,还包括:
基于预设的抽样方法,从各数据列的列数据中抽取预设数量的列数据样本。
4.根据权利要求1所述的数据表主键、外键识别方法,其特征在于,所述从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对的步骤具体包括:
获取多个存在可能的复合主-外键连接关系的数据列对,所述存在可能的复合主-外键连接关系的数据列对包括至少两个存在最终的外-外键列连接关系的数据列对,且所述至少两个存在最终的外-外键列连接关系的数据列对中的两列数值型/字符型依赖列分别来源于相同的数据表;
将所述至少两个存在最终的外-外键列连接关系的数据列对中来源于相同的数据表的数值型/字符型依赖列分别组合;
判断组合后的数值型/字符型依赖列是否是非重复序列;
将组合后的数值型/字符型依赖列是非重复序列的组合列确定为组合型包含列;
将组合后的数值型/字符型依赖列不是非重复序列的组合列确定为组合型依赖列;
根据各组合型数据列的列数据依次判断两列组合型数据列是否存在取值相同关系,所述两列组合型数据列存在取值相同关系是指同时出现在第一组合型数据列的列数据中和第二组合型数据列的列数据中的列数据占所述第一组合型数据列的列数据和/或所述第二组合型数据列的列数据的比值超过第三预设值;
当存在取值相同关系的两列组合型数据列分别为组合型包含列和组合型依赖列时,将所述两列组合型数据列确定为存在符合主-外键连接关系的数据列对。
5.一种数据表主键、外键识别装置,其特征在于,用于执行权利要求1-4任一所述的数据表主键、外键识别方法的步骤,所述数据表主键、外键识别装置包括:
数据表获取单元,用于获取数据库中待识别主键、外键的多个数据表,所述数据表中包含多个数据列的信息,所述数据列的信息包括列名信息、列类型信息和/或列注释信息以及列数据;
列真实类型确定单元,用于根据各数据列的列数据确定各数据列的真实的列类型,所述真实的列类型包括数值型和字符型;
数值型数据列包含依赖关系识别单元,用于对同属于数值型的数据列采用预设的数值型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对,所述包含依赖关系包括可能的主-外键连接关系以及可能的外-外键连接关系;
字符型数据列包含依赖关系识别单元,用于对同属于字符型的数据列采用预设的字符型包含依赖关系识别模型识别其中的存在包含依赖关系的数据列对;
词向量构建单元,用于基于预设的词向量构建模型根据各数据列的列名信息、列类型信息和/或列注释信息确定各数据列的词向量;
相似度确定单元,用于根据各数据列的词向量确定各数据列之间的相似度;
主-外键连接关系确定单元,用于根据各数据列之间的相似度,从所述存在可能的主-外键连接关系的数据列对中筛选出存在最终的主-外键连接关系的数据列对;
外-外键连接关系确定单元,用于根据各数据列之间的相似度以及存在最终的主-外键连接关系的数据列对,从所述存在可能的外-外键连接关系的数据列对中筛选出存在最终的外-外键连接关系的数据列对;
复合主-外键连接关系确定单元,用于从所述存在最终的外-外键连接关系的数据列对中筛选出存在复合主-外键连接关系的数据列对。
6.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至4中任一项权利要求所述数据表主键、外键识别方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至4中任一项权利要求所述数据表主键、外键识别方法的步骤。
CN201910664542.1A 2019-07-23 2019-07-23 数据表主键、外键识别方法、装置、设备和存储介质 Active CN110727676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910664542.1A CN110727676B (zh) 2019-07-23 2019-07-23 数据表主键、外键识别方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910664542.1A CN110727676B (zh) 2019-07-23 2019-07-23 数据表主键、外键识别方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110727676A CN110727676A (zh) 2020-01-24
CN110727676B true CN110727676B (zh) 2022-09-20

Family

ID=69217718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910664542.1A Active CN110727676B (zh) 2019-07-23 2019-07-23 数据表主键、外键识别方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110727676B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112651296A (zh) * 2020-11-23 2021-04-13 安徽继远软件有限公司 一种无先验知识数据质量问题自动探查方法及系统
CN112257402B (zh) * 2020-12-22 2021-03-19 畅捷通信息技术股份有限公司 一种对电子数据表格的数据进行验证的方法、装置及存储介质
CN115292297B (zh) * 2022-06-29 2024-02-02 江苏昆山农村商业银行股份有限公司 一种构建数据仓库数据质量监测规则的方法和系统
CN116450653B (zh) * 2023-06-09 2023-08-25 浙江大学 一种针对供应链数据缺失的补全方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095522B (zh) * 2015-09-22 2018-09-25 南开大学 基于最近邻搜索的关系表集合外键识别方法
US11074235B2 (en) * 2017-08-10 2021-07-27 Io-Tahoe Llc Inclusion dependency determination in a large database for establishing primary key-foreign key relationships
CN109472013B (zh) * 2018-10-25 2020-06-16 北京交通大学 基于分布拟合的网络表格间的外键关系检测方法

Also Published As

Publication number Publication date
CN110727676A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN110727676B (zh) 数据表主键、外键识别方法、装置、设备和存储介质
US9710488B2 (en) Location estimation using image analysis
CN111582169B (zh) 图像识别数据纠错方法、装置、计算机设备和存储介质
CN110569341A (zh) 配置聊天机器人的方法、装置、计算机设备和存储介质
CN109933803B (zh) 一种成语信息展示方法、展示装置、电子设备及存储介质
CN111797629A (zh) 医疗文本数据的处理方法、装置、计算机设备和存储介质
CN111241229B (zh) 快递驿站地址辨别方法、计算机设备和存储介质
CN112084761A (zh) 一种水利工程信息管理方法及装置
CN111563429A (zh) 一种图纸校对方法、装置、电子设备及存储介质
CN117423299B (zh) 液晶显示屏的性能检测方法、装置、设备及存储介质
CN109446336B (zh) 新闻筛选的方法、装置、计算机设备和存储介质
CN113961768A (zh) 敏感词检测方法、装置、计算机设备和存储介质
CN110727743A (zh) 数据识别方法、装置、计算机设备及存储介质
CN111291535A (zh) 剧本处理方法、装置、电子设备及计算机可读存储介质
CN111460268B (zh) 数据库查询请求的确定方法、装置和计算机设备
CN111859956B (zh) 一种用于金融行业的地址分词方法
CN110968655B (zh) 地址识别方法与装置
CN111104934A (zh) 发动机标贴的检测方法、电子设备及计算机可读存储介质
CN111209733A (zh) 文本记录处理方法及装置
CN111221995B (zh) 一种基于大数据和集合理论的序列匹配方法
CN114241487B (zh) 一种ocr识别方法
CN116186549B (zh) 模型的训练方法、装置、设备和介质
CN112465002B (zh) 一种火灾现场铜导线熔痕智能识别方法及装置
CN113343688A (zh) 地址相似度确定方法、装置和计算机设备
CN110362643B (zh) 一种河湖名录录入标准判断方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant