中文字数:11521, 英文为PDF论文
SQL 查询中的语意错误: 非常完全的介绍列表
作者:Institut fur Informatik, Martin-Luther-Universitat Halle-Wittenberg, 出自德国Seckendorff-Platz 1 和 D-06099 Halle(Saale)
摘要
我们调查一类在语法上正确的SQL查询,当然不是故意的调查查询的执行任务,举个例子,当我们输入一个不合理的查询时候,返回的结果总是一个空集,很显然这个不是有意的,然而,当前的数据库系统执行这个查询时候根本没有任何报警,这篇文章中,我们给出足够多的有很多明显语义错误查询条件子集,当然,这些例子错误一般情况下是不能判别的,但是一个SQL查询子集能检查到这些错误。我们相信在不久的将来的数据库管理系统能检查出上面叙述的这些错误且它发出的错误警报能帮助开发应用软件项目。
关键字:数据库;SQL;查询;语义错误;逻辑错误;软件正确性;静态分析;数据库课程;SQL 例子 1.简介 当今sql语言是面向对象和关系数据库的标准语言。应用软件项目很明显包含了大量相关的sql查询和更新,这些都被传递给数据库管理系统执行。像一些程序代码sql查询包含了一些错误(这篇文章中没有考虑更新问题,但是更新在很大程度上和查询类似的)。 sql查询错误归纳为语义错误和语法错误。语法错误就是输入的字符串不是一个合法的sql语句。 因为一些数据库管理系统不能执行查询语句,所以它会打印出一些错误信息。当然,这些错误是很容易被发觉被更正的。 语义错误就是当一个合法的sql查询语句被输入时,但是查询不能或总不是返回预期的结果,所以当前的查询任务不正确。查询执行任务必须清晰明了才能发现查询不正确,所以语义错误更应该深刻理解它实质,不管执行什么任务,一定要有足够多的例子证明查询是不正确的。这篇文章我们关注的部分还在后面,查询目标经常都不受约束。举个例子,考虑下面这个查询: