bici-logo

Bertinoro International Spring School 2009
2-13 March 2009

Structural Methods in Database Theory (SM)

 

The main focus of this Database Theory course is on the evaluation and optimization of Database queries. We start by recalling some useful notions of Database Theory and First Order Logic. It will be shown that perfect optimization is impossible, because even some easier related problems are undecidable. Then, we recall the definitions of some complexity classes, both above NP and inside P. The latter classes are interesting, because problems therein can be solved efficiently by parallel algorithms.  Moreover, we present some results about the complexity and the expressive power of query languages. These results are based on nice technical gadgets, such as the Ehrenfeucht-Fraisse games.

The central part of the course is about Conjunctive queries, equivalent in expressive power to Select-Project-Join queries, which constitute the most basic, most important, and best-studied type of database queries. The problem of evaluating a conjunctive query over a relational database is a fundamental problem in the field of database systems. This problem is NP-hard in general. However, it was shown that there are large classes of queries, called islands of tractability, that can be identified and answered efficiently, that is, in polynomial-time with standard machines, or even better with parallel machines. The idea is to exploit the structural properties of query hypergraphs, generalizing a classical result by Yannakakis [1981] on the tractability of acyclic queries. This line of research led to a number of techniques, usually called structural methods, which extend the nice properties of acyclic queries to more general classes of queries whose associated hypergraphs have a "low degree of cyclicity". Notable examples are the techniques based on the notions of tree-width and hypertree-width. They find applications also in other fields of computer science, such as constraint satisfaction in AI, theorem proving, game theory, and so on. This course presents an overview of the main results about structural methods, starting from the theoretical basis, and ending with recent practical applications to query optimization in real DBMS. In particular, a number of technical tools will be presented (e.g., alternating Turing machines, parallel complexity classes, and graph games) that can be useful to students even in very different settings and for completely different problems, besides providing a deep-understanding of the main subjects of the course.

Prerequisites: Classical notions of computational complexity theory and of algorithms and data structures, such as Turing machine, reducibility and algorithm analysis. Basic notions of Database Theory.

 

 

Slides for the class are now available in the following table. You can print out a copy and bring it with you at the school.

Name

4slides/page

Presentation of the course

pdf

Introduction to Databases and FO Logic

pdf

The Impossibility of Perfect

Query Optimization

pdf

Complexity of Query Languages

pdf

Conjunctive Queries and Structural Methods

pdf

Hypertree Decompositions: Characterizations,
Applications, and Extensions

pdf

Parallel Algorithms

pdf

FO Expressiveness and EF Games

pdf

 

-          any database book, such as Foundations of Databases, by Serge Abiteboul, Richard Hull, and Victor Vianu;

-          a computational complexity book, such as Computational Complexity, by C.H. Papadimitriou;

-          papers about structural methods, e.g., the JACM paper and the JCSSs papers available at the Hypertree Decompositions home page;

-          a paper by Ph. Kolaitis, available here;