This paper introduces conjunctive queries in relational databases and defines the generalized join operator, which is crucial for answering such queries. It shows that while answering conjunctive queries is NP-complete, there exists an implementation that is within a constant of optimal. The main result is that each conjunctive query has a unique minimal equivalent query, similar to minimal finite automata.
The paper discusses the complexity of answering queries, showing that boolean queries are logspace complete in polynomial space, while conjunctive queries are NP-complete. It also addresses query minimization, proving that finding a minimal equivalent query is NP-hard. The paper defines a "folding" operation that allows transforming a query into a minimal equivalent one, which is unique up to isomorphism.
The paper further presents a model of computation using straight-line programs with variables taking relations as values. It shows that this model can be used to implement queries efficiently, with the running time being a polynomial in the size of the domain. The paper also discusses optimization techniques, including transforming queries into minimal equivalent forms and choosing an optimal order of computation.
The paper concludes that by finding a minimal equivalent query, one can achieve a program whose running time is within a constant of optimal for every database. This approach allows for efficient query processing, even though the optimization process itself may take exponential time in the size of the query.This paper introduces conjunctive queries in relational databases and defines the generalized join operator, which is crucial for answering such queries. It shows that while answering conjunctive queries is NP-complete, there exists an implementation that is within a constant of optimal. The main result is that each conjunctive query has a unique minimal equivalent query, similar to minimal finite automata.
The paper discusses the complexity of answering queries, showing that boolean queries are logspace complete in polynomial space, while conjunctive queries are NP-complete. It also addresses query minimization, proving that finding a minimal equivalent query is NP-hard. The paper defines a "folding" operation that allows transforming a query into a minimal equivalent one, which is unique up to isomorphism.
The paper further presents a model of computation using straight-line programs with variables taking relations as values. It shows that this model can be used to implement queries efficiently, with the running time being a polynomial in the size of the domain. The paper also discusses optimization techniques, including transforming queries into minimal equivalent forms and choosing an optimal order of computation.
The paper concludes that by finding a minimal equivalent query, one can achieve a program whose running time is within a constant of optimal for every database. This approach allows for efficient query processing, even though the optimization process itself may take exponential time in the size of the query.