一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-07-16 21:48:40 来源:中国专利 TAG:
1.本发明涉及关系型数据库sql语句等价性验证领域,具体地,涉及模板化数据库查询计划的等价性验证方法及系统,更为具体地,涉及基于半环代数结构和smt求解器的模板化数据库查询计划的等价性验证方法及系统。
背景技术
::2.结构化查询语言(structuredquerylanguage),即sql,是一种数据库查询语言,用于存取数据以及查询、更新和管理关系型数据库系统。验证sql语句的等价性是数据库领域的一个重要问题,其有助于优化查询,减少查询的冗余计算。3.近年来,出现了一系列形式化验证sql语句等价性的工作。现有的基于proofassistant的工作,使用代数理论方法,对sql语句形式化建模为半环代数表达式,扩展了sql的半环语义,并借助一系列代数理论和辅助公理,在集合和包(允许重复元素的集合)语义下证明sql语句等价性。4.然而,现有基于proofassistant和代数理论的sql语句等价性证明工作仍然存在着许多不足,具体有几下几个方面:5.1.不支持复杂谓词的等价转换:当谓词间存在结构上的差异时,无法证明等价性。6.2.不支持部分sql特性:不支持“三值逻辑”,即没有对null建模,默认所有列属性都是非null的。缺乏对null的支持还导致不支持所有outerjoin类型的关系运算符。7.3.验证过程依赖预定义的表达式规范化改写规则,并且验证等价性依赖于改写后表达式间的句法同构性,这限制了此类方法的等价性验证完备性。8.其它sql语句等价性验证工作,基于可满足性模理论(satisfiabilitymodulotheories,简称smt)求解器验证等价性。可满足性模理论,将布尔可满足性问题推广到等式推理、算术、数组、量词及其他一阶理论中。smt求解器被用于求解涉及上述理论的一阶逻辑公式的可满足性问题。这类基于smt的sql语句等价性验证工作,通过将sql语句建模为符号化表示,并将查询等价问题的定义转化为一阶逻辑表达式,使用smt求解器验证sql语句等价性。9.然而,现有基于smt求解器验证sql语句等价性证明工作仍然存在着许多不足,具体有以下几个方面:10.1.不支持关系对象完整性约束的建模(如外键,unique等约束),无法验证涉及有完整性约束的关系对象的sql语句等价性。11.2.同样依赖预定义的规范化改写规则,将查询的符号化结构表示改写为一种规范化形式。难以验证结构差异较大的sql语句的等价性,限制了此类方法的等价性验证完备性。12.目前,sql语句等价性验证求解的工作,对于部分sql特性和完整性约束的支持还存在空白。还没有一种sql语句等价性验证工作,能够将代数方法和smt求解器相结合,完善对“三值逻辑”等sql特性和完整性约束的支持。因此,先前的工作对于验证sql语句等价性的研究并不全面,还存在一定的空白。13.专利文献cn112231205a(申请号:202011055948.9)公开了一种基于smt求解器的一阶逻辑公式程序验证方法及系统,包括接收至少一个客户端中任一客户端发送的程序形式化验证数据交互请求;基于获取的数据验证请求内容,提取数据验证请求中的一阶逻辑公式;基于smt求解器对上述数据验证请求中的一阶逻辑公式进行可满足性求解。本发明基于smt求解器实现了一阶逻辑公式的自动证明,使得形式化验证系统能够对程序进行自动化验证,提高软件的可信度。技术实现要素:14.针对现有技术中的缺陷,本发明的目的是提供一种模板化数据库查询计划的等价性验证方法及系统。15.根据本发明提供的一种模板化数据库查询计划的等价性验证方法,包括:16.步骤s1:将两个预设符号化查询计划树结构分别转换为两个无界半环表达式;17.步骤s2:将两个无界半环表达式构成的等式转换为一阶逻辑表达式;18.步骤s3:将约束集合转换为一阶逻辑表达式;19.步骤s4:基于两个无界半环表达式构成的一阶逻辑表达式和约束集合转换的一阶逻辑表达式形成了待求解的表示两个查询计划等价的一阶逻辑表达式;将待求解的一阶逻辑表达式利用smt求解器求解,从而得到两个查询计划是否等价的结果;20.所述约束集合是符号化查询计划树结构内部的符号约束或一对符号化查询计划树结构之间的符号约束的集合。21.优选地,所述步骤s1采用:22.步骤s1.1:将sql中的预设具体关系对象的参数用符号代替生成模板化的sql;23.步骤s1.2:将每个模板化的sql语句通过数据库的查询优化器转化为相应的符号化查询计划树结构,基于符号化查询计划树结构生成基于无界半环代数结构的表达式。24.优选地,所述步骤s1.1:将sql中的预设具体关系对象的参数包括:表、列属性和判断谓词用预设符号代替,生成模块化的sql。25.优选地,所述步骤s1.2:基于无界半环代数结构的表达式采用:udp算法中定义的术语,在包语义下将sql查询计划表示为对自然数半环的操作;26.一条sql被建模为一个函数[[q]]:元组tuple-》自然数n,表示输入一个元组,输出该元组在sql查询的结果集中出现的次数。[0027]优选地,新增对null值元组的处理,从而能够扩展验证查询计划等价性的语义范围;[0028]引入新的谓词,将三值逻辑中的unknown转化为二值逻辑中的false,从而实现了null的三值逻辑转化为二值逻辑,同时保证无界半环表达式能够正确表示查询计划的语义;[0029]基于null的处理,新增了对外连接运算符语义的建模,支持将外连接运算符转化为表示其语义的无界半环表达式。[0030]优选地,所述步骤s3采用:对于给定的约束集合c,对其中的每个约束c∈c转化成一个一阶逻辑表达式,再将约束集合c转化成其中每个约束所转化出的表达式的合取式;[0031][0032]其中,fol表示一阶逻辑。[0033]优选地,所述步骤s4采用:[0034][0035]其中,ci表示在实例化i下,约束集c的一阶逻辑表达式的真值;表示全称量词;表示src查询计划上所有符号被实例化操作i分配后得到的实际查询计划;表示dest查询计划上所有符号被实例化操作i分配后得到的实际查询计划;t表示任意元祖。[0036]优选地,所述步骤s4采用:[0037][0038]根据本发明提供的一种模板化数据库查询计划的等价性验证系统,包括:[0039]模块m1:将两个预设符号化查询计划树结构分别转换为两个无界半环表达式;[0040]模块m2:将两个无界半环表达式构成的等式转换为一阶逻辑表达式;[0041]模块m3:将约束集合转换为一阶逻辑表达式;[0042]模块m4:基于两个无界半环表达式构成的一阶逻辑表达式和约束集合转换的一阶逻辑表达式形成了待求解的表示两个查询计划等价的一阶逻辑表达式;将待求解的一阶逻辑表达式利用smt求解器求解,从而得到两个查询计划是否等价的结果;[0043]所述约束集合是符号化查询计划树结构内部的符号约束或一对符号化查询计划树结构之间的符号约束的集合。[0044]优选地,所述模块m1采用:[0045]模块m1.1:将sql中的预设具体关系对象的参数用符号代替生成模板化的sql;[0046]模块m1.2:将每个模板化的sql语句通过数据库的查询优化器转化为相应的符号化查询计划树结构,基于符号化查询计划树结构生成基于无界半环代数结构的表达式;[0047]所述模块m1.1:将sql中的预设具体关系对象的参数包括:表、列属性和判断谓词用预设符号代替,生成模块化的sql;[0048]所述模块m1.2:基于无界半环代数结构的表达式采用:udp算法中定义的术语,在包语义下将sql查询计划表示为对自然数半环的操作;[0049]一条sql被建模为一个函数[[q]]:元组tuple-》自然数n,表示输入一个元组,输出该元组在sql查询的结果集中出现的次数;[0050]所述模块m3采用:对于给定的约束集合c,对其中的每个约束c∈c转化成一个一阶逻辑表达式,再将约束集合c转化成其中每个约束所转化出的表达式的合取式;[0051][0052]其中,fol表示一阶逻辑;[0053]所述模块m4采用:[0054][0055]其中,ci表示在实例化i下,约束集c的一阶逻辑表达式的真值;表示全称量词;表示src查询计划上所有符号被实例化操作i分配后得到的实际查询计划;表示dest查询计划上所有符号被实例化操作i分配后得到的实际查询计划;t表示任意元祖;[0056]所述模块m4采用:[0057][0058]与现有技术相比,本发明具有如下的有益效果:[0059]1、将sql语句进行符号化、模板化建模,验证符号化的sql查询等价性能够推导出更多实际应用中的sql查询之间的等价性;[0060]2、将无界半环表达式与可满足性模理论求解器相结合,完善了对null值的建模和“三值逻辑”的支持,并且支持多种完整性约束的建模,扩展了包语义下sql等价性自动化验证的能力。附图说明[0061]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:[0062]图1为模板化数据库查询计划的等价性验证方法流程图。具体实施方式[0063]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。[0064]实施例1[0065]根据本发明提供的一种模板化数据库查询计划的等价性验证方法,包括:[0066]步骤s1:将两个预设符号化查询计划树结构分别转换为两个无界半环表达式;[0067]步骤s2:将两个无界半环表达式构成的等式转换为一阶逻辑表达式;[0068]步骤s3:将约束集合转换为一阶逻辑表达式;[0069]步骤s4:基于两个无界半环表达式构成的一阶逻辑表达式和约束集合转换的一阶逻辑表达式形成了待求解的表示两个查询计划等价的一阶逻辑表达式;将待求解的一阶逻辑表达式利用smt求解器求解,从而得到两个查询计划是否等价的结果;[0070]所述约束集合是符号化查询计划树结构内部的符号约束或一对符号化查询计划树结构之间的符号约束的集合。[0071]具体地,所述步骤s1采用:[0072]步骤s1.1:将sql中的预设具体关系对象的参数用符号代替生成模板化的sql;[0073]步骤s1.2:将每个模板化的sql语句通过数据库的查询优化器转化为相应的符号化查询计划树结构,基于符号化查询计划树结构生成基于无界半环代数结构的表达式。[0074]具体地,所述步骤s1.1:将sql中的预设具体关系对象的参数包括:表、列属性和判断谓词用预设符号代替,生成模块化的sql。[0075]具体地,所述步骤s1.2:基于无界半环代数结构的表达式采用:udp算法中定义的术语,在包语义下将sql查询计划表示为对自然数半环的操作;[0076]一条sql被建模为一个函数[[q]]:元组tuple-》自然数n,表示输入一个元组,输出该元组在sql查询的结果集中出现的次数。[0077]具体地,新增对null值元组的处理,从而能够扩展验证查询计划等价性的语义范围;[0078]引入新的谓词,将三值逻辑中的unknown转化为二值逻辑中的false,从而实现了null的三值逻辑转化为二值逻辑,同时保证无界半环表达式能够正确表示查询计划的语义;[0079]基于null的处理,新增了对外连接运算符语义的建模,支持将外连接运算符转化为表示其语义的无界半环表达式。[0080]具体地,所述步骤s3采用:对于给定的约束集合c,对其中的每个约束c∈c转化成一个一阶逻辑表达式,再将约束集合c转化成其中每个约束所转化出的表达式的合取式;[0081][0082]其中,fol表示一阶逻辑。[0083]具体地,所述步骤s4采用:[0084][0085]其中,ci表示在实例化i下,约束集c的一阶逻辑表达式的真值;表示全称量词;表示src查询计划上所有符号被实例化操作i分配后得到的实际查询计划;表示dest查询计划上所有符号被实例化操作i分配后得到的实际查询计划;t表示任意元祖。[0086]具体地,所述步骤s4采用:[0087][0088]根据本发明提供的一种模板化数据库查询计划的等价性验证系统,包括:[0089]模块m1:将两个预设符号化查询计划树结构分别转换为两个无界半环表达式;[0090]模块m2:将两个无界半环表达式构成的等式转换为一阶逻辑表达式;[0091]模块m3:将约束集合转换为一阶逻辑表达式;[0092]模块m4:基于两个无界半环表达式构成的一阶逻辑表达式和约束集合转换的一阶逻辑表达式形成了待求解的表示两个查询计划等价的一阶逻辑表达式;将待求解的一阶逻辑表达式利用smt求解器求解,从而得到两个查询计划是否等价的结果;[0093]所述约束集合是符号化查询计划树结构内部的符号约束或一对符号化查询计划树结构之间的符号约束的集合。[0094]具体地,所述模块m1采用:[0095]模块m1.1:将sql中的预设具体关系对象的参数用符号代替生成模板化的sql;[0096]模块m1.2:将每个模板化的sql语句通过数据库的查询优化器转化为相应的符号化查询计划树结构,基于符号化查询计划树结构生成基于无界半环代数结构的表达式;[0097]所述模块m1.1:将sql中的预设具体关系对象的参数包括:表、列属性和判断谓词用预设符号代替,生成模块化的sql;[0098]所述模块m1.2:基于无界半环代数结构的表达式采用:udp算法中定义的术语,在包语义下将sql查询计划表示为对自然数半环的操作;[0099]一条sql被建模为一个函数[[q]]:元组tuple-》自然数n,表示输入一个元组,输出该元组在sql查询的结果集中出现的次数;[0100]所述模块m3采用:对于给定的约束集合c,对其中的每个约束c∈c转化成一个一阶逻辑表达式,再将约束集合c转化成其中每个约束所转化出的表达式的合取式;[0101][0102]其中,fol表示一阶逻辑;[0103]所述模块m4采用:[0104][0105]其中,ci表示在实例化i下,约束集c的一阶逻辑表达式的真值;表示全称量词;表示src查询计划上所有符号被实例化操作i分配后得到的实际查询计划;表示dest查询计划上所有符号被实例化操作i分配后得到的实际查询计划;t表示任意元祖;[0106]所述模块m4采用:[0107][0108]实施例2[0109]实施例2是实施例1的优选例[0110]根据现有技术中的不足,本发明提供一种基于半环代数结构和可满足性模理论的符号化sql语句等价性求解器。[0111]根据本发明提供的一种基于半环代数结构和可满足性模理论的符号化sql语句等价性求解器,符号化的sql语句,即sql中的具体关系对象的参数:表,列属性和判断谓词,均被符号代替,成为模板化的sql。符号化sql等价性问题,被定义为给定两条符号化sql及关于这两条sql上符号之间的约束集合,验证两条sql在满足约束集中的所有约束条件下是否等价。每个符号化的sql语句都有一个相应的sql查询计划树结构,使用该查询计划树结构生成基于无界半环代数结构的表达式,并利用smt求解器,验证sql等价性。具体包括以下步骤:[0112]步骤1:对sql查询计划建模:每条sql会被数据库的查询优化器转化为一个查询计划树,每个树节点包含一个运算符和一个或多个参数。在执行sql时,每个节点将其子节点的输出表作为输入,自底向上地执行每个树节点上的运算符。本发明将sql查询计划中运算符上的具体关系对象的参数符号化,形成符号化的sql查询。[0113]步骤2:将sql查询计划建模成无界半环代数表达式:本发明使用基于无界半环的表达式(unboundedsemi-ringexpression)表示一条sql的查询计划。表达式采用udp算法中定义的术语,在包语义下将sql查询计划表示为对自然数半环的操作,即一条sql被建模为一个函数[[q]]:元组tuple-》自然数n,表示输入一个元组,输出该元组在sql查询的结果集中出现的次数(在后续表示中省略[[]]符号)。[0114]步骤3:将约束集合转化为一阶逻辑表达式(firstorderlogic,fol):对于给定的约束集合c,对其中的每个约束c∈c,转化成一个一阶逻辑表达式。再将约束集合c转化成其各个元素所转化出的表达式的合取式,即:[0115][0116]步骤4:形式化定义sql等价问题:[0117]“实例化”定义:给定一个sql查询q,其表示为无界半环表达式,一个实例化操作i是对q上所有符号分配一个具体的关系对象,使其成为一个被实例化的查询qi。类似地,在实例化i下,约束集c的真值记为ci。[0118]对于两条sql查询和一个约束集合组成的一个sql等价性验证问题《qsrc,qdest,c》,定义qsrc,qdest等价当且仅当以下公式成立。该公式与包的等价性定义一致:对于任意实例化i,若约束集合中的约束都成立,则两条sql查询寻等价,即任意元组t在两个实例化sql查询的结果集中出现的次数是恒相等的。[0119][0120]步骤5:基于逻辑的等价性验证程序:将上述sql等价性的定义转化为一阶逻辑表达式,使用smt求解器进行等价性验证。[0121]为消除等价性定义公式中的外层全称量词需要将sql中的每一个符号声明为一个未解释的函数。[0122]由于约束集合c已经被转化为了一阶逻辑表达式,则只需要将qsrc(t)=qdest(t)转化成一阶逻辑表达式,再使用smt求解器求解以下公式的不可满足性,若该公式是不可满足的,则两条sql语句等价。[0123][0124]具体地,在步骤1中,定义符号类型如下:[0125]表:一个表符号tbl,符号化一个输入表。[0126]列属性列表:一个列属性列表的符号a,表示一个由列属性构成的列表。特别地,一个表符号tbl也对应一个列属性列表符号atbl,表示这个表中的所有列属性。[0127]判断谓词:一个判断谓词符号p,符号化sql语句中where子句的一个谓词表达式。[0128]具体地,在步骤1中,限定对包含如下运算符的sql查询计划进行等价性验证,其中运算符上的关系对象均已被符号化为符号表示:[0129][0130][0131]具体地,在步骤2中,对查询计划中的每个符号,将其转化为一个未解释的函数:[0132]每个表符号t对应一个函数t:tuple-》n,其输出为输入元组在表中出现的次数。[0133]每个列属性列表a对应一个函数a:tuple-》tuple,其输出为输入元组被投影到列属性列表a上所得到的元组。[0134]每个判断谓词p对应一个函数p:tuple-》boolean,其输出为一个布尔值,表示输入元组的值是否满足谓词条件。[0135]具体地,在步骤2中,对查询计划树结构自下而上进行表达式归纳,即先解析子节点的表达式,再利用子节点表达式来构建父节点表达式。其特征在于,每个运算符节点通过以下转化表构建表达式,最终根节点对应的表达式即为该sql的转化结果。表中运算符节点的下标为该运算符上的符号;fl,fr表示左右子节点转化的表达式,tl,tr表示左右子节点表达式中的输入变量(若只有一个子节点则默认使用fl和tl表示);tl·tr表示tl,tr相连接产生的元组。[0136][0137]具体地,在步骤2中,支持对null值的处理如下:[0138]定义“null”元组为各个列属性均为null值的一个元组,则所有“null”元组都为相同的元组,如在tabletbl节点中,表达式tbl(null)为表tbl中“null”元组出现的次数。[0139]对于一个谓词p,在三值逻辑中,null值会让谓词返回unknown的结果。而由于filterp,a节点只会保留谓词p结果为true的元组,因此可以将三值逻辑中的unknown视为二值逻辑中的false,[unknown]与[false]的值均为0。[0140]在无界半环表达式定义中,引入新的谓词isnull:tuple-》boolean,若输入元组是“null”元组,则返回值为true。使用该谓词可在in-subfilter和三种join运算符对应的表达式中过滤掉“null”元组。[0141]具体地,在步骤2中,基于上述对null的建模,本发明可以支持外连接运算符语义的建模。以leftjoin为例,其返回所有左表的元组,无论在右表中有没有匹配的元组,而对于右表没有匹配的元组,则会以null值替代。因此leftjoin的表达式为两项之和:一项与innerjoin表达式相同,代表右表有匹配的元组;一项代表右表没有匹配的元组,其为三项之积,fl(tl)表示保留左表所有的元组,[isnull(tr)]表示原来属于右表的列属性的值为null值的元组,表示join条件不满足的判断情况。。[0142]具体地,在步骤3中,定义如下约束类型:[0143]tableeq(tbl1,tbl2):两个输入表tbl1和tbl2相同。[0144]attreq(a1,a2):两个列属性列表相同,即具有相同的列属性。[0145]predeq(p1,p2):两个谓词等价,即[0146]subattr(a1,a2):指a1中的列属性也存在于a2中,即a1包含的列属性是a2的子集。[0147]reference(tbl1,a1,tbl2,a2):指表tbl1中的列属性a1是表tbl2中的列属性a2的引用,即任何在表tbl1中投影在a1上的元组值都属于表tbl2中投影在a2上的元组集合中。[0148]unique(tbl,a):指在表tbl中投影在a上的元组值是有唯一性约束的。[0149]notnull(tbl,a):指在表tbl中投影在a上的元组值是有非null约束的。[0150]具体地,在步骤3中,将一个约束按照下表转化成一个一阶逻辑表达式:[0151][0152][0153]具体地,在步骤5中,所述基于逻辑的等价性验证程序中,使用一种smt求解器——z3进行等价性验证。在z3中,将sql中的每一个符号使用“declare-fun”语句声明为一个未解释的函数:[0154]表符号t:declare-funt(tuple)int[0155]列属性列表符号a:declare-funa(tuple)tuple[0156]谓词符号p:declare-funp(tuple)bool[0157]其中,类型“tuple”在z3求解器中被声明为smtlib中的未解释的sort类型。[0158]具体地,在步骤5中,所述基于逻辑的等价性验证程序中,构建如下的转化表,定义无界半环表达式与一阶逻辑表达式的对应转化关系。其中,tr表示根据此表递归地转化子表达式;ite(p,v0,v1)表示若谓词p为真,则返回v0,否则返回v1。[0159][0160][0161]具体地,在步骤5中,所述基于逻辑的等价性验证程序中,设置z3求解器的超时时间为20s。z3求解器可能的返回结果分为:可满足sat,不可满足unsat,以及未知unknown。当z3求解器在20s内无法返回结果时,返回未知unknown,此时认为sql查询的等价性验证失败。[0162]实施例3[0163]实施例3是实施例1的优选例[0164]根据本发明提供的一种基于半环代数结构和可满足性模理论的符号化sql语句等价性求解器,以以下两条sql语句q0和q1及约束集c为例,该方法会依次执行以下步骤:[0165]q0:selectt0.a2fromt0innerjoint1ont0.a0=t1.a1[0166]q1:selectt2.a3fromt2[0167]约束集合c={tabeleq(t0,t2),attreq(a2,a3)}∪{subattr(a0,t0),subattrs(a1,t1),subattr(a2,t0)}∪{unique(t1,a1),notnull(t0,a0),reference(t0,a0,t1,a1)}[0168]1.构建两条sql语句对应的查询计划树结构,其中已将涉及符号等价的约束,即tabeleq(t0,t2)和attreq(a2,a3)应用到查询计划树的构建上。[0169]2.将sql查询计划建模成无界半环代数表达式:对树结构自下而上进行表达式归纳,即先解析子节点的表达式,再利用子节点表达式来构建父节点表达式。两个sql查询计划的转化过程生成的表达式为:[0170][0171]q1(t)=σx[t=a2(x)]×t0(x)ꢀꢀꢀ(#1)[0172]将约束集合转化为一阶逻辑表达式:将约束集合c转化成其各个元素所转化出的表达式的合取式:[0173][0174]4.形式化定义sql等价问题:q0与q1等价当且仅当以下公式成立:[0175][0176]5.基于逻辑的等价性验证程序:将q0(t)=q1(t)转换为一阶逻辑表达式:[0177][0178]其中:[0179]f(x)为表达式#1中的[t=a2(x)]一项,[0180]g(x)为表达式#0中的not([isnull(a0(x))])一项,[0181]h(x,y)为表达式#0中的[t=a2(x·y)]×t1(y)×[a0(x)=a1(y)]三项,[0182]tr(f(x))=tr([t=a2(x)])=ite(t=a2(x),1,0),[0183]tr(g(x))=tr(not([isnull(a0(x))]))=ite(ite(isnull(a0(x)),1,0),1,0),[0184][0185][0186]使用z3求解器验证表达式的可满足性,最终返回结果为不可满足,则两条sql语句等价。[0187]本发明提供了一种基于半环代数结构和可满足性模理论的符号化sql语句等价性求解器。本发明在包语义下将符号化sql语句建模为基于无界半环代数结构的表达式,并定义无界半环表达式和一阶逻辑表达式之间的转换规则,将两条sql语句等价性条件转化为一阶逻辑表达式,通过使用可满足性模理论求解器来验证sql的等价性。与现有技术相比,本发明完善了sql中对null值的建模和“三值逻辑”的支持,并且支持多种完整性约束的建模,扩展了sql等价性自动化验证的能力。[0188]本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。[0189]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献