数据表的连接方法及装置制造方法及图纸

技术编号:15792009 阅读:449 留言:0更新日期:2017-07-09 22:58
本申请公开了一种数据表的连接方法及装置。其中,该方法包括:获取待进行表连接的至少两个数据表;在至少两个数据表中添加用于标识至少两个属性参数之间关联关系的标识符;基于标识符从各个数据表中查找出具有第一关联关系的第一信息记录项,得到第一结果集;基于标识符查找出各个数据表中具有第二关联关系的第二信息记录项,利用第二信息记录项对至少两个数据表进行表连接,得到第二结果集;将第一结果集和第二结果集进行拼接,得到至少两个数据表的连接结果。本申请解决了存在多种不同对应关系的数据表的连接效率低的技术问题。

【技术实现步骤摘要】
数据表的连接方法及装置
本申请涉及数据表连接领域,具体而言,涉及一种数据表的连接方法及装置。
技术介绍
在生活和工作中,人们每天要接触到大量的信息和数据,在这些真实的数据里,会存在多种对应关系,如多对多的关系和一对多关系。具体地,例如电子商务领域中的会话和订单,可能存在一个会话没有任何订单的情况、可能存在一个会话对应一个订单的情况下,还可能存在一个会话有多个订单的情况,在通过上述多种对应关系,整理或统计会话订单数据时,常用的方式是将分别存储有订单和会话数据的表进行连接,在各大数据仓库查询引擎里,表连接的开销都很大,由于两边的数据表可能会很大,这样查询起来效率很低。针对上述的存在多种不同对应关系的数据表的连接效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种数据表的连接方法及装置,以至少解决存在多种不同对应关系的数据表的连接效率低的技术问题。根据本申请实施例的一个方面,提供了一种数据表的连接方法,该方法包括:获取待进行表连接的至少两个数据表,其中,所述至少两个数据表中各个数据表中记录有至少两个属性参数;在所述至少两个数据表中添加用于标识所述至少两个属性参数之间关联关系的标识符,其中,所述关联关系包括第一关联关系和第二关联关系,所述第一关联关系为所述至少两个属性参数的属性信息一一对应的关系,所述第二关联关系为所述至少两个属性参数的属性信息多对多的对应关系;基于所述标识符从各个数据表中查找出具有第一关联关系的第一信息记录项,得到第一结果集;基于所述标识符查找出各个所述数据表中具有第二关联关系的第二信息记录项,利用所述第二信息记录项对所述至少两个数据表进行表连接,得到第二结果集;将所述第一结果集和所述第二结果集进行拼接,得到所述至少两个数据表的连接结果。进一步地,利用所述第二信息记录项对所述至少两个数据表进行表连接包括:确定所述至少两个数据表的连接序列;利用所述各个数据表中的第二信息记录项,按照所述连接序列对所述至少两个数据表进行表连接。进一步地,利用所述各个数据表中的第二信息记录项,按照所述连接序列对所述至少两个数据表进行表连接包括:将所述连接序列中第一个数据表初始化为当前表,从所述第一个数据表开始执行如下表连接操作,直至将所述至少两个数据表连接完成:获取所述连接序列中所述当前表的下一表;利用所述下一表中的所述第二信息记录项,连接所述当前表和所述下一表,得到中间结果;将所述中间结果作为下一次所述表连接操作的当前表。进一步地,利用所述下一表中的所述第二信息记录项,连接所述当前表和所述下一表,得到中间结果包括:获取所述下一表中的第二信息记录项,其中,所述第二信息记录项中记录有目标属性参数的目标属性信息,所述至少两个属性参数包括所述目标属性参数;在第二信息记录项中记录的目标属性信息存在于所述当前表的情况下,提取所述第二信息记录项,得到所述中间结果。进一步地,在得到所述至少两个数据表的连接结果之后,所述方法还包括:从所述连接结果中获取待统计的属性参数的属性信息,其中,所述至少两个属性参数包括所述待统计的属性参数;统计获取到的属性信息。进一步地,将所述第一结果集和所述第二结果集进行拼接,得到所述至少两个数据表的连接结果包括:将所述第一结果集和所述第二结果集合并,得到所述连接结果。根据本申请实施例的另一方面,还提供了一种数据表的连接装置,该装置包括:第一获取单元,用于获取待进行表连接的至少两个数据表,其中,所述至少两个数据表中各个数据表中记录有至少两个属性参数;添加单元,用于在所述至少两个数据表中添加用于区分所述至少两个属性参数之间的第一关联关系和第二关联关系的标识符,其中,所述第一关联关系用于指示所述至少两个属性参数的属性信息一一对应,所述第二关联关系为所述至少两个属性参数的属性信息多对多的对应关系;查找单元,用于基于所述标识符从所述各个数据表中查找出用于记录第一关联关系的第一信息记录项,得到第一结果集;表连接单元,用于基于所述标识符查找出所述各个数据表中用于记录第二关联关系的第二信息记录项,利用所述第二信息记录项对所述至少两个数据表进行表连接,得到第二结果集;拼接单元,用于将所述第一结果集和所述第二结果集进行拼接,得到所述至少两个数据表的连接结果。进一步地,所述表连接单元包括:确定模块,用于确定所述至少两个数据表的连接序列;表连接模块,用于利用所述各个数据表中的第二信息记录项,按照所述连接序列对所述至少两个数据表进行表连接。进一步地,所述表连接模块包括:执行模块,用于将所述连接序列中第一个数据表初始化为当前表,调用第一获取模块、连接模块、处理模块从所述第一个数据表开始执行表连接操作,直至将所述至少两个数据表连接完成;第一获取模块,用于获取所述连接序列中所述当前表的下一表;连接模块,用于利用所述下一表中的所述第二信息记录项,连接所述当前表和所述下一表,得到中间结果;处理模块,用于将所述中间结果作为下一次所述表连接操作的当前表。进一步地,所述连接模块包括:第二获取模块,用于获取所述下一表中的第二信息记录项,其中,所述第二信息记录项中记录有目标属性参数的目标属性信息,所述至少两个属性参数包括所述目标属性参数;提取模块,用于在第二信息记录项中记录的目标属性信息存在于所述当前表的情况下,提取所述第二信息记录项,得到所述中间结果。进一步地,所述装置还包括:第二获取单元,用于在得到所述至少两个数据表的连接结果之后,从所述连接结果中获取待统计的属性参数的属性信息,其中,所述至少两个属性参数包括所述待统计的属性参数;统计单元,用于统计获取到的属性信息。进一步地,所述拼接单元包括:获得模块,用于将所述第一结果集和所述第二结果集合并,得到所述连接结果。在本申请实施例中,在进行表连接之前,基于表中记录信息存在的对应关系对数据表记录的信息进行标注,如一对一关系(即上述的第一关联关系)或非一对一关系(即上述的第二关联关系)使用不同标识符标注出来。在进行表连接时,将所有表中具有第一关联关系的数据保存为第一结果集,基于表中记录的第二关联关系进行表连接,得到第二结果集,将第一结果集和第二结果集进行拼接,得到表连接的连接结果。在上述实施例中,由于在进行表连接时,未对表中记录的一对一的关系进行表连接,通过对至少两个数据表中符合第二关联关系属性参数的属性信息进行表连接,而不是采用现有技术中的直接对数据表所有信息进行表连接的方式,该方案将大部分多对多转换成一对一,仅当需要多对多时,才发生多对多的表连接,减少表连接的表大小,使其能高效的处理大部分数据为一对多的情况,解决了现有技术中存在多种不同对应关系的数据表的连接效率低的技术问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种数据表的连接方法的流程图;以及图2是根据本申请实施例的一种数据表的连接装置的示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申本文档来自技高网
...
数据表的连接方法及装置

【技术保护点】
一种数据表的连接方法,其特征在于,包括:获取待进行表连接的至少两个数据表,其中,所述至少两个数据表中各个数据表中记录有至少两个属性参数;在所述至少两个数据表中添加用于标识所述至少两个属性参数之间关联关系的标识符,其中,所述关联关系包括第一关联关系和第二关联关系,所述第一关联关系为所述至少两个属性参数的属性信息一一对应的关系,所述第二关联关系为所述至少两个属性参数的属性信息多对多的对应关系;基于所述标识符从各个数据表中查找出具有第一关联关系的第一信息记录项,得到第一结果集;基于所述标识符查找出各个所述数据表中具有第二关联关系的第二信息记录项,利用所述第二信息记录项对所述至少两个数据表进行表连接,得到第二结果集;将所述第一结果集和所述第二结果集进行拼接,得到所述至少两个数据表的连接结果。

【技术特征摘要】
1.一种数据表的连接方法,其特征在于,包括:获取待进行表连接的至少两个数据表,其中,所述至少两个数据表中各个数据表中记录有至少两个属性参数;在所述至少两个数据表中添加用于标识所述至少两个属性参数之间关联关系的标识符,其中,所述关联关系包括第一关联关系和第二关联关系,所述第一关联关系为所述至少两个属性参数的属性信息一一对应的关系,所述第二关联关系为所述至少两个属性参数的属性信息多对多的对应关系;基于所述标识符从各个数据表中查找出具有第一关联关系的第一信息记录项,得到第一结果集;基于所述标识符查找出各个所述数据表中具有第二关联关系的第二信息记录项,利用所述第二信息记录项对所述至少两个数据表进行表连接,得到第二结果集;将所述第一结果集和所述第二结果集进行拼接,得到所述至少两个数据表的连接结果。2.根据权利要求1所述的方法,其特征在于,利用所述第二信息记录项对所述至少两个数据表进行表连接包括:确定所述至少两个数据表的连接序列;利用所述各个数据表中的第二信息记录项,按照所述连接序列对所述至少两个数据表进行表连接。3.根据权利要求2所述的方法,其特征在于,利用所述各个数据表中的第二信息记录项,按照所述连接序列对所述至少两个数据表进行表连接包括:将所述连接序列中第一个数据表初始化为当前表,从所述第一个数据表开始执行如下表连接操作,直至将所述至少两个数据表连接完成:获取所述连接序列中所述当前表的下一表;利用所述下一表中的所述第二信息记录项,连接所述当前表和所述下一表,得到中间结果;将所述中间结果作为下一次所述表连接操作的当前表。4.根据权利要求3所述的方法,其特征在于,利用所述下一表中的所述第二信息记录项,连接所述当前表和所述下一表,得到中间结果包括:获取所述下一表中的第二信息记录项,其中,所述第二信息记录项中记录有目标属性参数的目标属性信息,所述至少两个属性参数包括所述目标属性参数;在第二信息记录项中记录的目标属性信息存在于所述当前表的情况下,提取所述第二信息记录项,得到所述中间结果。5.根据权利要求1至4中任意一项所述的方法,其特征在于,在得到所述至少两个数据表的连接结果之后,所述方法还包括:从所述连接结果中获取待统计的属性参数的属性信息,其中,所述至少两个属性参数包括所述待统计的属性参数;统计获取到的属性信息。6.根...

【专利技术属性】
技术研发人员:洪超
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京,11

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

1