An algorithm for answering queries efficiently using views