The challenges in exploiting materialized views are not unlike
those in using indices: (a) identify the views to materialize,
(b) exploit the materialized views to answer queries, and (c)
efficiently update the materialized views during load and
refresh. The currently adopted industrial solutions to these
problems consider materializing views that have a relatively
simple structure. Such views consist of joins of the fact table
with a subset of dimension tables (possibly after some
selections on those dimensions), with the aggregation of one
or more measures grouped by a set of attributes from the
dimension tables. The structure of these views is a little more
complex when the underlying schema is a snowflake.