http://dl.acm.org/citation.cfm?id=170066
recomputing the view from scratch is too wasteful in most cases … it is often cheaper to compute only the changes in the view.
view maintenance has applications in integrity constraint maintenance, persistent queries, active database (a rule may fire when a particular tuple is inserted into a view)
both algorithms use the view definition to produce rules that compute the changes to the view using the changes made to the base relation and the old materialized views.
the view definition (supported) can be in SQL or Datalog, and may use UNION, negation, aggregation (e.g., SUM, MIN), linear recursion, and general recursion.