基于密文数据库的主外键识别方法及装置制造方法及图纸

技术编号:37644269 阅读:9 留言:0更新日期:2023-05-25 10:11
本申请提供一种基于密文数据库的主外键识别方法及装置。本方法包括:获取待识别主外键的两个数据表;基于两个数据表中字段的字段名确定至少一个候选字段组;根据所述至少一个候选字段组中字段的字段值的唯一性确定候选字段组中为候选主键的字段及对应的为候选外键的字段;基于候选外键字段值与候选主键字段值进行分析确定候选主键与候选外键是否存在主外键关系。可以依据字段名之间相似度,字段值的唯一性及两个字段值间的重复度确定数据表是否存在主外键关系,提高了识别主键、外键及主外键关系的准确度;并且可以直接对加密后的数据库中的数据表进行识别,保证了数据表主外键识别时的数据安全性。外键识别时的数据安全性。外键识别时的数据安全性。

【技术实现步骤摘要】
基于密文数据库的主外键识别方法及装置


[0001]本申请涉及计算机
、金融及医疗领域,尤其涉及一种基于密文数据库的主外键识别方法及装置。

技术介绍

[0002]在对数据库中的数据进行管理时,通常需要确定数据表的主键和外键以快速获取数据表与数据表之间的关系,并确定数据表中各字段与其他数据表中各字段的关系。
[0003]目前,通常依赖数据库中字段的字段名或对字段的标注来识别主键和外键,识别的准确率较低,难以对加密后的数据表进行识别。

技术实现思路

[0004]本申请提供一种基于密文数据库的主外键识别方法及装置,用以解决依赖数据库中字段的字段名或对字段的标注来识别主键和外键,识别的准确率较低,难以对加密后的数据表进行识别的问题。
[0005]第一方面,本申请提供一种基于密文数据库的主外键识别方法,包括:
[0006]获取待识别主外键的两个数据表;所述两个数据表均采用同一加密算法加密或均未加密;
[0007]基于两个数据表中字段的字段名确定至少一个候选字段组;所述候选字段组包括;属于不同数据表的两个字段;
[0008]根据所述至少一个候选字段组中字段的字段值的唯一性确定候选字段组中为候选主键的字段及对应的为候选外键的字段;
[0009]基于候选外键字段值与候选主键字段值进行分析确定候选主键与候选外键是否存在主外键关系。
[0010]可选地,所述两个数据表均采用同一加密算法加密,所述同一加密算法为对所述数据表的各字符分别进行加密的字符加密算法,所述基于两个数据表中字段的字段名确定至少一个候选字段组,包括:
[0011]获取两个数据表中字段的字段名;所述字段名已采用字符加密算法进行加密;按分割字符数对字段名进行分割,以获取各字段名对应字符段;所述分割字符数预先根据所述字符加密算法确定;根据字段名对应字符段计算两个数据表中两个字段之间的字段名相似度;将字段名相似度大于预设相似度阈值的两个字段确定为候选字段组。
[0012]可选地,所述根据字段名对应字符段计算两个数据表中两个字段之间的字段名相似度,包括:
[0013]分别确定第一字段的字段名、第二字段的字段名对应字符段的数量;所述第一字段为第一数据表中的字段,所述第二字段为第二数据表中的字段;确定第一字段的字段名、第二字段的字段名之间相同字符段的数量;计算所述相同的字符段的数量与第一字段的字段名对应字符段的数量的第一商值,并将第一商值确定为第一字段名相似度;计算所述相
同字符段的数量与第二字段的字段名对应字符段的数量的第二商值,并将第二商值确定为第二字段名相似度;将所述第一字段名相似度和所述第二字段名相似度中的较大相似度确定为所述两个字段之间的字段名相似度。
[0014]可选地,所述两个数据表均为采用同一加密算法加密后的数据表,所述同一加密算法为对所述数据表的各字段进行整体加密的字段加密算法,所述基于各数据表中字段的字段名确定至少一个候选字段组,包括:
[0015]获取两个数据表中字段的字段名;所述字段名已采用字段加密算法进行加密;计算两个数据表中两个字段之间的字段名相似度;将字段名相似度大于预设相似度阈值的两个字段确定为候选字段组;所述预设相似度阈值为100%。
[0016]可选地,所述根据所述至少一个候选字段组中字段的字段值的唯一性确定候选字段组中为候选主键的字段及对应的为候选外键的字段,包括:
[0017]确定至少一个候选字段组中各字段的字段值是否具有唯一性;若确定某候选字段组中一个字段的字段值具有唯一性,且该候选字段组中另一字段的字段值不具有唯一性,则将具有唯一性的对应字段确定为所属数据表的候选主键,将不具有唯一性的对应字段确定为所属数据表的候选外键。
[0018]可选地,所述确定至少一个候选字段组中各字段的字段值是否具有唯一性,包括:
[0019]确定至少一个候选字段组中各字段对应的字段值去重前的字段值的第一数量;对至少一个候选字段组中各字段的字段值进行去重操作;确定至少一个候选字段组中各字段对应的字段值去重后的字段值的第二数量;若确定某字段对应的第一数量等于第二数量,则确定该字段具有唯一性;若确定某字段对应的第一数量大于第二数量,则确定该字段不具有唯一性。
[0020]可选地,所述候选字段组为多个,所述确定至少一个候选字段组中各字段的字段值是否具有唯一性之后,还包括:
[0021]若确定候选字段组中各字段的字段值均不具有唯一性,则将各候选字段组中属于同一数据表的字段的字段值进行拼接;根据所述多个候选字段组中字段的拼接后的字段值的唯一性确定多个候选字段组中为候选主键的拼接后的字段及对应的为候选外键的拼接后的字段。
[0022]可选地,所述基于候选主键字段值与候选外键字段值进行分析确定候选主键与候选外键是否存在主外键关系,包括:
[0023]确定候选主键字段值中与对应候选外键字段值相同的字段值的数量,并确定对应候选外键的去重后字段值的数量;计算所述相同的字段值的数量与对应候选外键的去重后字段值的数量的第三商值,并将第三商值确定为主外键的重复度;若确定主外键的重复度大于预设重复度阈值,则确定所述候选主键与对应的候选外键存在主外键关系;所述候选主键为目标主键,所述候选外键为目标外键;若确定主外键的重复度小于或等于预设重复度阈值,则确定所述候选主键与对应的候选外键不存在主外键关系。
[0024]可选地,所述基于候选主键字段值与候选外键字段值进行分析确定候选主键与候选外键是否存在主外键关系之后,还包括:
[0025]将所述具有主外键关系的目标主键的字段名及对应目标外键的字段名生成候选字段名对,将所述候选字段名对存储于候选字段对基础库中;所述获取待识别主外键的两
个数据表之后,还包括:判断两个数据表中是否存在候选字段对基础库中的候选字段名对;若确定存在候选字段名对,则将该候选字段名对对应的字段确定为候选字段组。
[0026]第二方面,本申请提供一种基于金融密文数据库的主外键识别方法,包括:
[0027]获取待识别主外键的两个金融数据表;所述金融数据表中包括金融数据;所述两个金融数据表均采用同一加密算法加密或均未加密;
[0028]基于两个金融数据表中字段的字段名确定至少一个候选字段组;所述候选字段组包括;属于不同金融数据表的两个字段;
[0029]根据所述至少一个候选字段组中字段的字段值的唯一性确定候选字段组中为候选主键的字段及对应的为候选外键的字段;
[0030]基于候选外键字段值与候选主键字段值进行分析确定候选主键与候选外键是否存在主外键关系。
[0031]第三方面,本申请提供一种基于医疗密文数据库的主外键识别方法,包括:
[0032]获取待识别主外键的两个医疗数据表;所述医疗数据表中包括医疗数据;所述两个医疗数据表均采用同一加密算法加密或均未加密;
[0033]基于两个医疗数据表中字段的字段名确定至少一个候选字段组;所述候选字段组包括;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于密文数据库的主外键识别方法,其特征在于,包括:获取待识别主外键的两个数据表;所述两个数据表均采用同一加密算法加密或均未加密;基于两个数据表中字段的字段名确定至少一个候选字段组;所述候选字段组包括;属于不同数据表的两个字段;根据所述至少一个候选字段组中字段的字段值的唯一性确定候选字段组中为候选主键的字段及对应的为候选外键的字段;基于候选外键字段值与候选主键字段值进行分析确定候选主键与候选外键是否存在主外键关系。2.根据权利要求1所述的方法,其特征在于,所述两个数据表均采用同一加密算法加密,所述同一加密算法为对所述数据表的各字符分别进行加密的字符加密算法,所述基于两个数据表中字段的字段名确定至少一个候选字段组,包括:获取两个数据表中字段的字段名;所述字段名已采用字符加密算法进行加密;按分割字符数对字段名进行分割,以获取各字段名对应字符段;所述分割字符数预先根据所述字符加密算法确定;根据字段名对应字符段计算两个数据表中两个字段之间的字段名相似度;将字段名相似度大于预设相似度阈值的两个字段确定为候选字段组。3.根据权利要求2所述的方法,其特征在于,所述根据字段名对应字符段计算两个数据表中两个字段之间的字段名相似度,包括:分别确定第一字段的字段名、第二字段的字段名对应字符段的数量;所述第一字段为第一数据表中的字段,所述第二字段为第二数据表中的字段;确定第一字段的字段名、第二字段的字段名之间相同字符段的数量;计算所述相同的字符段的数量与第一字段的字段名对应字符段的数量的第一商值,并将第一商值确定为第一字段名相似度;计算所述相同字符段的数量与第二字段的字段名对应字符段的数量的第二商值,并将第二商值确定为第二字段名相似度;将所述第一字段名相似度和所述第二字段名相似度中的较大相似度确定为所述两个字段之间的字段名相似度。4.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个候选字段组中字段的字段值的唯一性确定候选字段组中为候选主键的字段及对应的为候选外键的字段,包括:确定至少一个候选字段组中各字段的字段值是否具有唯一性;若确定某候选字段组中一个字段的字段值具有唯一性,且该候选字段组中另一字段的字段值不具有唯一性,则将具有唯一性的对应字段确定为所属数据表的候选主键,将不具有唯一性的对应字段确定为所属数据表的候选外键。5.根据权利要求4所述的方法,其特征在于,所述确定至少一个候选字段组中各字段的字段值是否具有唯一性,包括:确定至少一个候选字段组中各字段对应的字段值去重前的字段值的第一数量;对至少一个候选字段组中各字段的字段值进行去重操作;
确定至少一个候选字段组中各字段对应的字段值去重后的字段值的第二数量;若确定某字段对应的第一数量等于第二数量,则确定该字段具有唯一性;若确定某字段对应的第一数量大于第二数量,则确定该字段不具有唯一性。6.根据权利要求4所述的方法,其特征...

【专利技术属性】
技术研发人员:王爽孙琪郑灏王帅李帜
申请(专利权)人:杭州锘崴信息科技有限公司
类型:发明
国别省市:

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

1