Table of Contents:
  • 1. Introduction
  • 2. Relational databases
  • 2.1 Relational model
  • 2.2 Query languages
  • 2.2.1 Relational algebra
  • 2.2.2 Relational calculus
  • 2.2.3 Domain independent and safe RC queries
  • 2.2.4 Datalog
  • 2.3 Conjunctive queries
  • 3. Incomplete databases
  • 3.1 Incomplete databases
  • 3.2 Representation systems
  • 3.3 Nulls in SQL
  • 4. The chase algorithm
  • 4.1 Data dependencies
  • 4.2 Universal solutions and query answers
  • 4.3 Dependency skolemization
  • 4.4 Standard chase algorithm
  • 4.5 Oblivious chase
  • 4.6 Core chase
  • 4.7 Comparison among chase algorithms
  • 5. Chase termination
  • 5.1 Chase termination criteria
  • 5.2 Relationship among chase termination conditions
  • 5.3 Constraint rewriting
  • 6. Data dependencies and normal forms
  • 6.1 Basic notations and terminology
  • 6.2 Functional dependencies
  • 6.3 Multivalued dependencies
  • 6.4 Join dependencies
  • 6.5 Decompositions
  • 6.6 Normal forms
  • 6.7 Chasing with FDs and JDs
  • 7. Universal repairs
  • 7.1 Universal repairs
  • 7.2 Special classes of dependencies
  • 7.2.1 LAV
  • 7.2.2 GAV
  • 7.2.3 Terminating dependencies
  • 8. Chase and database applications
  • 8.1 Query containment under constraints
  • 8.2 Query optimization
  • 8.3 Data exchange
  • 8.4 Data integration
  • 8.5 Query answering on incomplete data
  • Bibliography
  • Authors' biographies.