Implementation of logical query languages for databases

Implementation of logical query languages for databases
复制标题

数据库逻辑查询语言的实现

DOI:
--
复制
发表时间:
1985
期刊:
TODS
影响因子:
--
通讯作者:
J. Ullman
J. Ullman
中科院分区:
--
文献类型:
--
作者:
J. Ullman

文献摘要

被引文献

相似文献

我们研究的情况下,这些查询表示在一阶逻辑作为一个集合的霍恩条款的关系数据库的查询实现的方法。因为查询可以递归地定义,所以直接的查询求值方法并不总是有效的,并且已经提出了各种策略来处理递归查询的子集。我们表示这样的查询评估技术作为“捕获规则”的图表示子句和谓词。捕获规则的一个基本属性是它们可以独立应用,从而为在不同情况下使用几种不同策略的查询评估系统提供了一个干净的接口。另一个问题是,对于给定规则的适用性,应该有一个有效的检验标准。我们定义了基本的捕获规则,对应于关系代数中操作符的应用,一个自顶向下的捕获规则对应于“反向链接”,即目标的重复解析,一个自底向上的规则,对应于“正向链接”,我们试图推导出给定类中的所有真实事实,以及一个“横向”规则,允许我们将结果从一个目标传递到另一个目标。
We examine methods of implementing queries about relational databases in the case where these queries are expressed in first-order logic as a collection of Horn clauses. Because queries may be defined recursively, straightforward methods of query evaluation do not always work, and a variety of strategies have been proposed to handle subsets of recursive queries. We express such query evaluation techniques as “capture rules” on a graph representing clauses and predicates. One essential property of capture rules is that they can be applied independently, thus providing a clean interface for query-evaluation systems that use several different strategies in different situations. Another is that there be an efficient test for the applicability of a given rule. We define basic capture rules corresponding to application of operators from relational algebra, a top-down capture rule corresponding to “backward chaining,” that is, repeated resolution of goals, a bottom-up rule, corresponding to “forward chaining,” where we attempt to deduce all true facts in a given class, and a “sideways” rule that allows us to pass results from one goal to another.