A materialized view may be an aggregate table, or a simple, non-aggregate table (formerly known as a snapshot), or more complex multi-table join. You can have Oracle create materialized views, or register existing aggregate tables (perhaps created by an ETL tool) with Oracle as a materialized view so it can invoke query-rewrite. I'ven't had consistent success with query-rewrite while experimenting with it in my dev environment, but when it works, it flies!
-- Duke Ganote