模板化数据库查询计划的等价性验证方法及系统技术方案

技术编号:34184444 阅读:125 留言:0更新日期:2022-07-17 13:53
本发明专利技术提供了一种模板化数据库查询计划的等价性验证方法及系统,包括:步骤S1:将两个预设符号化查询计划树结构分别转换为两个无界半环表达式;步骤S2:将两个无界半环表达式构成的等式转换为一阶逻辑表达式;步骤S3:将约束集合转换为一阶逻辑表达式;步骤S4:基于两个无界半环表达式构成的一阶逻辑表达式和约束集合转换的一阶逻辑表达式形成了待求解的表示两个查询计划等价的一阶逻辑表达式;将待求解的一阶逻辑表达式利用SMT求解器求解,从而得到两个查询计划是否等价的结果;所述约束集合是符号化查询计划树结构内部的符号约束或一对符号化查询计划树结构之间的符号约束的集合。束的集合。束的集合。

【技术实现步骤摘要】
模板化数据库查询计划的等价性验证方法及系统


[0001]本专利技术涉及关系型数据库SQL语句等价性验证领域,具体地,涉及模板化数据库查询计划的等价性验证方法及系统,更为具体地,涉及基于半环代数结构和SMT求解器的模板化数据库查询计划的等价性验证方法及系统。

技术介绍

[0002]结构化查询语言(Structured Query Language),即SQL,是一种数据库查询语言,用于存取数据以及查询、更新和管理关系型数据库系统。验证SQL语句的等价性是数据库领域的一个重要问题,其有助于优化查询,减少查询的冗余计算。
[0003]近年来,出现了一系列形式化验证SQL语句等价性的工作。现有的基于Proof Assistant的工作,使用代数理论方法,对SQL语句形式化建模为半环代数表达式,扩展了SQL的半环语义,并借助一系列代数理论和辅助公理,在集合和包(允许重复元素的集合)语义下证明SQL语句等价性。
[0004]然而,现有基于Proof Assistant和代数理论的SQL语句等价性证明工作仍然存在着许多不足,具体有几下几个方面本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种模板化数据库查询计划的等价性验证方法,其特征在于,包括:步骤S1:将两个预设符号化查询计划树结构分别转换为两个无界半环表达式;步骤S2:将两个无界半环表达式构成的等式转换为一阶逻辑表达式;步骤S3:将约束集合转换为一阶逻辑表达式;步骤S4:基于两个无界半环表达式构成的一阶逻辑表达式和约束集合转换的一阶逻辑表达式形成了待求解的表示两个查询计划等价的一阶逻辑表达式;将待求解的一阶逻辑表达式利用SMT求解器求解,从而得到两个查询计划是否等价的结果;所述约束集合是符号化查询计划树结构内部的符号约束或一对符号化查询计划树结构之间的符号约束的集合。2.根据权利要求1所述的模板化数据库查询计划的等价性验证方法,其特征在于,所述步骤S1采用:步骤S1.1:将SQL中的预设具体关系对象的参数用符号代替生成模板化的SQL;步骤S1.2:将每个模板化的SQL语句通过数据库的查询优化器转化为相应的符号化查询计划树结构,基于符号化查询计划树结构生成基于无界半环代数结构的表达式。3.根据权利要求2所述的模板化数据库查询计划的等价性验证方法,其特征在于,所述步骤S1.1:将SQL中的预设具体关系对象的参数包括:表、列属性和判断谓词用预设符号代替,生成模块化的SQL。4.根据权利要求2所述的模板化数据库查询计划的等价性验证方法,其特征在于,所述步骤S1.2:基于无界半环代数结构的表达式采用:UDP算法中定义的术语,在包语义下将SQL查询计划表示为对自然数半环的操作;一条SQL被建模为一个函数[[q]]:元组Tuple

>自然数N,表示输入一个元组,输出该元组在SQL查询的结果集中出现的次数。5.根据权利要求4所述的模板化数据库查询计划的等价性验证方法,其特征在于,新增对NULL值元组的处理,从而能够扩展验证查询计划等价性的语义范围;引入新的谓词,将三值逻辑中的unknown转化为二值逻辑中的false,从而实现了NULL的三值逻辑转化为二值逻辑,同时保证无界半环表达式能够正确表示查询计划的语义;基于NULL的处理,新增了对外连接运算符语义的建模,支持将外连接运算符转化为表示其语义的无界半环表达式。6.根据权利要求1所述的模板化数据库查询计划的等价性验证方法,其特征在于,所述步骤S3采用:对于给定的约束集合C,对其中的每个约束C∈C转化成一个一阶逻辑表达式,再将约束集合C转化成其中每个约束所转化出的表达式的合取式;其中,FOL表示一阶逻辑。7.根据权利要求1所述的模板化数据库查询计划的等价性验证方法,...

【专利技术属性】
技术研发人员:王肇国杨逸存陈海波
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1