구체화 뷰

구체화 뷰(), 구체화된 뷰는 쿼리의 결과를 담고 있는 데이터베이스 오브젝트이다. 원거리에 위치한 데이터의 근거리 사본일 수도 있고, 테이블의 줄이나 열의 하부 집합 또는 Join 결과일 수도 있으며 테이블 데이터 집합에 기반한 요약일 수도 있다. 원거리 테이블에 기반한 데이터를 저장하는 구체화 뷰는 스냅샷으로도 부른다. 스냅샷을 구체화 뷰로 재정의할 수 있다.

개요 
구체화 뷰는 오라클 데이터베이스에 처음 도입된 것으로, 쿼리 다시 쓰기 기능은 버전 8i부터 추가되었다. 사이베이스 SQL 애니웨어, 티베로에서도 지원한다. IBM DB2에서는 구체화 쿼리 테이블(materialized query tables)로 부른다. 마이크로소프트 SQL 서버 또한 색인화된 뷰(indexed view)라는 이름의 비슷한 기능이 있다. MySQL은 구체화 뷰를 네이티브로 지원하지는 않지만 트리거나 저장된 프로시저를 사용하거나 오픈 소스 응용 프로그램인 플렉스뷰를 이용하여 일부 작업이 가능하다. PostgreSQL에도 구체화 뷰를 적용할 수 있는데, 버전 9.3부터 이를 네이티브로 지원한다.

기본 문법 
   create MATERIALIZED VIEW [[VIEW_NAME]]
      [TABLESPACE ts_name]
      [PARALLEL {DEGREE n)]
      [BUILD {IMMEDIATE | DEFERRED | ON PREBUILT TABLE}
      [REFRESH {FAST | COMPLETE | FORCE | NEVER | ON COMMIT}]
      [WITH PRIMARY KEY]
      [{ENABLE | DISABLE} QUERY REWRITE
      [USING {INDEX idx_name | NO INDEX}]
   AS
   [[SELECT QUERY]];

예 
오라클에서의 구체화 뷰의 예시 문법은 다음과 같다:
 CREATE MATERIALIZED VIEW MV_MY_VIEW
REFRESH FAST START WITH SYSDATE
   NEXT SYSDATE + 1
     AS SELECT * FROM <table_name>;

참조

외부 링크 
 Materialized View Concepts and Architecture – Oracle
 SQL Snippets: SQL Features Tutorials – Materialized Views – Oracle
 Oracle9i Replication Management API Reference Release 2 (9.2)

데이터베이스 관리 시스템
데이터 모델링
데이터베이스
관계형 모델