论文标题
根据有条件的实例了解查询
Understanding Queries by Conditional Instances
论文作者
论文摘要
一种理解复杂查询的有力方法是观察其在数据实例上的运行方式。但是,特定的数据库实例对于此类观察并不理想:它们通常包含大量多余的细节,这些细节不仅与理解查询无关,而且还会导致认知超负荷;一个特定的数据库可能还不够。给定关系查询,是否可以提供一个简单而通用的“代表性”实例(1)说明如何满足查询,(2)总结所有可以通过抽象不必要的细节来以相同方式满足查询的所有特定实例?此外,是否有可能找到这样的代表性实例的集合,以完全表征满足查询的所有可能方式?本文采取了初步步骤来回答这些问题。我们设计这些代表性实例的外观,定义它们的代表,并形式化他们以“所有可能的方式”来满足查询的含义。我们认为,对于一般域关系计算查询,此问题是不可确定的,并开发了用于计算此类实例最低收集的实用算法。我们通过实验来评估方法的效率,并通过用户研究显示其在帮助用户调试关系查询方面的有效性。
A powerful way to understand a complex query is by observing how it operates on data instances. However, specific database instances are not ideal for such observations: they often include large amounts of superfluous details that are not only irrelevant to understanding the query but also cause cognitive overload; and one specific database may not be enough. Given a relational query, is it possible to provide a simple and generic "representative" instance that (1) illustrates how the query can be satisfied, (2) summarizes all specific instances that would satisfy the query in the same way by abstracting away unnecessary details? Furthermore, is it possible to find a collection of such representative instances that together completely characterize all possible ways in which the query can be satisfied? This paper takes initial steps towards answering these questions. We design what these representative instances look like, define what they stand for, and formalize what it means for them to satisfy a query in "all possible ways." We argue that this problem is undecidable for general domain relational calculus queries, and develop practical algorithms for computing a minimum collection of such instances subject to other constraints. We evaluate the efficiency of our approach experimentally, and show its effectiveness in helping users debug relational queries through a user study.