1. A view matching system comprising the following computer implemented components: a computer memory having stored thereon the following components executable by a processor: an input component that receives a query and a materialized view, wherein the materialized view only partially intersects with the query; an intersection component that determines the intersection between the query and materialized view; a view map component that generates an intersection query by rewriting the intersection between the query and materialized view in terms of the materialized view; a constraint difference component that determines the difference between the query and materialized view to generate a difference query; and a functional dependency component that modifies the query and materialized view to enable the constraint difference component to eliminate more queries based on functional dependencies, such that if V k functionally determines v, then all occurrences of v are renamed using the same variable, and generates new bound variables V Q d ⊂ V Q f , where for each v∈V Q d , there exists a set of variables V K ⊂ V that functionally determines v.