Query rewriting using views is a technique for determining how a query may
be answered using a given set of resources, which may include materialized
views, cached results of previous queries, or queries answerable by other d
atabases. The power of query rewriting can be considerably enhanced by taki
ng into account integrity constraints that are known to hold on base relati
ons. This paper describes an extension of query rewriting that utilizes inc
lusion dependencies to find rewritings of queries that would otherwise be o
verlooked. We describe a complete strategy for finding rewritings in the pr
esence of inclusion dependencies and present a basic algorithm that impleme
nts that strategy. We also describe extensions to this algorithm when both
inclusion and functional dependencies are considered. (C) 1999 Published by
Elsevier Science Ltd. All rights reserved.