[发明专利]基于表关联关系动态生成查询SQL的方法及装置在审

专利信息
申请号: 201910684268.4 申请日: 2019-07-26
公开(公告)号: CN110399387A 公开(公告)日: 2019-11-01
发明(设计)人: 贾亮;张毅然 申请(专利权)人: 北京明略软件系统有限公司
主分类号: G06F16/242 分类号: G06F16/242;G06F16/245
代理公司: 北京康信知识产权代理有限责任公司 11240 代理人: 江舟
地址: 100086 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 关联关系 数据库表 查询 动态生成 主键 建立数据库 有向无环图 编码效率 查询效率 查询语句 数据治理 目标表 原始表 映射 抽象
【权利要求书】:

1.一种基于表关联关系动态生成查询SQL的方法,其特征在于,包括:

获取数据库表中的主键和外键;

根据所述主键和外键建立数据库表之间的关联关系;

根据所述关联关系建立由所述数据库表作为节点有向无环图DAG;

基于所述DAG生成查询语句以对所述数据库表进行查询。

2.根据权利要求1所述的方法,其特征在于,根据所述主键和外键建立数据库表之间的关联关系,包括:

分别获取与各个所述数据库表对应的主键;

基于所述主键获取与各个所述数据库对应的外键;

确定具有关联关系的外键,并根据具有所述关联关系的外键建立数据库表之间的关联关系。

3.根据权利要求1所述的方法,其特征在于,根据所述关联关系建立由所述数据库表作为节点有向无环图DAG,包括:

将所述关联关系中的起点作为根节点,连接点作为子节点,终点作为叶子节点以生成所述DAG。

4.根据权利要求3所述的方法,其特征在于,基于所述DAG生成查询语句以对所述数据库表进行查询,包括:

基于所述DAG生成查询语句先确定叶子节点;

根据所述关联关系确定与所述叶子节点关联的子节点;

根据所述关联关系确定与所述子节点关联的根节点。

5.一种基于表关联关系动态生成查询SQL的装置,其特征在于,包括:

处理模块,用于获取数据库表中的主键和外键;

第一建立模块,用于根据所述主键和外键建立数据库表之间的关联关系;

第二建立模块,用于根据所述关联关系建立由所述数据库表作为节点有向无环图DAG;

生成模块,用于基于所述DAG生成查询语句以对所述数据库表进行查询。

6.根据权利要求5所述的装置,其特征在于,所述第一建立模块包括:

第一获取单元,用于分别获取与各个所述数据库表对应的主键;

第二获取单元,用于基于所述主键获取与各个所述数据库对应的外键;

建立单元,用于确定具有关联关系的外键,并根据具有所述关联关系的外键建立数据库表之间的关联关系。

7.根据权利要求6所述的装置,其特征在于,

所述第二建立模块,还用于将所述关联关系中的起点作为根节点,连接点作为子节点,终点作为叶子节点以生成所述DAG。

8.根据权利要求5至7中任一项所述的装置,其特征在于,所述生成模块包括:

第一确定单元,用于基于所述DAG生成查询语句先确定叶子节点;

第二确定单元,用于根据所述关联关系确定与所述叶子节点关联的子节点;

第三确定单元,用于根据所述关联关系确定与所述子节点关联的根节点。

9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至4任一项中所述的方法。

10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至4任一项中所述的方法。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明略软件系统有限公司,未经北京明略软件系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910684268.4/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top