[发明专利]用于验证数据库系统正确性的方法和装置无效
申请号: | 201010624761.6 | 申请日: | 2010-12-30 |
公开(公告)号: | CN102541966A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 周祥;杨新颖;陈东升;刘沭华;贾焱;魏可伟;周婧 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;杨晓光 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 验证 数据库 系统 正确性 方法 装置 | ||
技术领域
本发明涉及数据库技术领域。更具体地,本发明涉及验证关系数据库系统的正确性的技术。
背景技术
在信息技术(IT)领域中,数据库尤其是关系型数据库得到了越来越广泛的应用。数据库用于存储海量数据,人们通常利用结构化查询语句(SQL语句)来对关系型数据库中的数据进行查询、插入、删除的操作。以SQL查询语句(SELECT语句)为例,该语句指示了要查询什么数据,但是并未告知关系型数据库管理系统(RDBMS)如何查找这样的数据,可能存在多种可能的途径来查找该数据。因此RDBMS需要对SQL语句进行解析,依据各种策略生成最合理的获取该数据的方式——访问路径(Access Path)。访问路径即为关于如何获取想要的数据的具体步骤。RDBMS按照访问路径指示的具体步骤来执行SQL语句,从而最终获得要查找的数据。
然而,随着RDBMS的复杂程度日益增加,经常会出现对SQL语句输出错误结果。导致输出错误结果的原因可能有很多,但主要的原因都可以归结为RDBMS自身存在缺陷或逻辑错误。因此,如何测试并验证RDBMS的正确性就成了数据库领域的一个重要问题。
目前,存在着一些用于验证数据库系统的正确性的技术方案,例如白盒测试法和黑盒测试法。所谓“白盒测试法”,指的是直接根据数据库的代码逻辑来设计测试用例。而“黑盒测试法”是指不深入代码,而是根据产品功能描述,利用外部接口来写测试用例,通常是编写各种各样的SQL语句。由于数据库系统本身非常复杂,所以无论是白盒测试还是黑盒测试均很难覆盖各种情况,无法做到有的放矢地验证数据库系统的正确性。而且编写测试用例是一项比较费时费力的工作,需要测试人员对数据库系统有着很深入的了解,严重影响了测试效率。
发明内容
考虑到上述存在的问题,本发明的目的之一在于提供一种能够通过接收到的SQL语句(指令)来自动验证数据库系统的正确性的方法和装置。本发明的又一目的在于提供一种通过扩展SQL语句的访问路径(Access path)来有的放矢地验证数据库系统的正确性的方法和装置。
根据本发明的一个方面,提供了一种用于验证数据库正确性的方法,包括:接收结构化查询SQL指令;扩展所接收到的SQL指令的访问路径;利用所述扩展的访问路径执行所述SQL指令;以及根据执行所述SQL指令的结果验证数据库系统的正确性。
根据本发明的一个实施例,其中扩展所接收到的SQL指令的访问路径包括:获取组成所述SQL指令的访问路径的元素;扩展所述元素;以及组合所述元素的可能取值以生成扩展的访问路径。
根据本发明的另一方面,提供了一种用于验证数据库系统的正确性的装置,包括:接收装置,用于接收结构化查询SQL指令;访问路径扩展装置,用于扩展所接收到的SQL指令的访问路径;执行装置,用于利用所述扩展的访问路径执行所述SQL指令;以及验证装置,用于根据执行所述SQL指令的结果验证数据库系统的正确性。
通过本发明的方法和系统,可以实现通过自动扩展SQL语句的访问路径来验证数据库系统的正确性的目的,还可以实现基于由各种数据操作方式(访问路径元素的不同取值)引发数据库自身存在的错误或缺陷的比重,科学高效、有的放矢地验证数据库系统的正确性的目的。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中,
图1示出了根据本发明一个实施例的用于验证数据库系统的正确性的方法的流程图;
图2示出了根据本发明又一实施例的用于验证数据库系统的正确性的方法的流程图;
图3示出了根据本发明一个实施例的记录历史错误信息的示意性饼图;
图4示出了根据本发明一个实施例的利用蒙特卡洛算法选择访问路径的示意图;
图5示出了根据本发明一个实施例的用于的验证数据库系统的正确性的装置的框图;
图6示出了根据本发明又一实施例的用于验证数据库系统的正确性的装置的框图。
具体实施方式
在下文中,将参考附图通过实施方式对本发明提供的用于确定要被物化的节点的方法和系统进行详细地描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010624761.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种置于开水龙头的保健中药冲罐
- 下一篇:冰箱类保鲜保湿方法和冰箱