Understanding Queries by Conditional Instances

by   Amir Gilad, et al.

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.


page 1

page 2

page 3

page 4


Explaining Wrong Queries Using Small Examples

For testing the correctness of SQL queries, e.g., evaluating student sub...

Relational Diagrams: a pattern-preserving diagrammatic representation of non-disjunctive Relational Queries

Analyzing relational languages by their logical expressiveness is well u...

Social Choice Methods for Database Aggregation

Knowledge can be represented compactly in multiple ways, from a set of p...

Query Significance in Databases via Randomizations

Many sorts of structured data are commonly stored in a multi-relational ...

Supporting Schema References in Keyword Queries over Relational Databases

Relational Keyword Search (R-KwS) systems enable naive/informal users to...

Principles of Query Visualization

Query Visualization (QV) is the problem of transforming a given query in...

An Empirical Study of GraphQL Schemas

GraphQL is a query language for APIs and a runtime to execute queries. U...