0% found this document useful (0 votes)
58 views

Oracle 8I Introduced Materialized Views. Generally

- Oracle 8i introduced materialized views, which store data, unlike regular views which do not store data. Materialized views are used in data warehousing and are created from base tables. - The key differences between views and materialized views are that materialized views store data while views do not, and materialized views can be accessible even if the base table is dropped while views cannot. Materialized views are also independent objects while views are dependent. - To refresh materialized view data after changes to the base table, the DBMS_MVIEW.REFRESH procedure is used, while materialized views can also be set to refresh automatically on commit of changes to the base table.

Uploaded by

Naani Naresh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Oracle 8I Introduced Materialized Views. Generally

- Oracle 8i introduced materialized views, which store data, unlike regular views which do not store data. Materialized views are used in data warehousing and are created from base tables. - The key differences between views and materialized views are that materialized views store data while views do not, and materialized views can be accessible even if the base table is dropped while views cannot. Materialized views are also independent objects while views are dependent. - To refresh materialized view data after changes to the base table, the DBMS_MVIEW.REFRESH procedure is used, while materialized views can also be set to refresh automatically on commit of changes to the base table.

Uploaded by

Naani Naresh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

MATERIALIZED VIEWS:

 ORACLE 8I INTRODUCED MATERIALIZED VIEWS. GENERALLY,


VIEWS DOESN’T STORE ANY DATA WHERE AS MATERIALIZED
VIEWS ARE STORING DATA.
 THESE VIEWS ARE USED IN DATA WAREHOUSING AND
HANDLING BY DBA. MATERIALIZED VIEWS ALSO CREATED
FROM BASE TABLES.

DIFFERENCES BETWEEN VIEW AND MATERIALIZED VIEW:

VIEW MATERIALIZED VIEW


VIEW DOES NOT STORE ANY MATERIALIZED VIEW STORE
DATA. DATA.
WHEN WE DROPPING BASE WHEN WE DROPPING BASE
TABLE THEN VIEW CANNOT BE TABLE THEN MATERIALIZED
ACCESSIBLE VIEW CAN BE ACCESSIBLE.
IT IS DEPENDENT OBJECT IT IS INDEPENDENT OBJECT
WE CAN PERFORM DML WE CANNOT PERFORM DML
OPERATIONS ON VIEW OPERATIONS ON MATERIALIZED
VIEW

SYNTAX:

CREATE MATERIALIZED VIEW <VIEW NAME> AS SELECT * FROM

<TABLE NAME>;

EX:

SQL> CREATE TABLE TEST1 (SNO INT, NAME VARCHAR2 (20));

SQL> CREATE VIEW V1 AS SELECT * FROM TEST1;

VIEW CREATED.

SQL> CREATE MATERIALIZED VIEW MV1 AS SELECT * FROM TEST1;

MATERIALIZED VIEW CREATED.


TESTING:

SQL> INSERT INTO TEST1 VALUES (101,’SMITH’);

 HERE, BASE TABLE (TEST1) AND VIEW (V1) TABLE DATA IS


UPDATED BUT MATERIALIZED VIEW (MV1) TABLE DATA IS NOT
UPDATED. IF WE WANT TO UPDATE DATA IN MATERIALIZED
VIEW THEN WE REFRESH MATERIALIZED VIEW BY USING THE
FOLLOWING SYNTAX,

SYNTAX:

EXEC DBMS_MVIEW.REFRESH (‘MATERIALIZED VIEW NAME’);

EX: EXEC DBMS_MVIEW.REFRESH (‘MV1’);

ON DEMAND / ON COMMIT:
IN ORACLE WE ARE REFRESHING MATERIALIZED VIEW IN TWO
WAYS THOSE ARE,

I) ON DEMAND:

IT IS A DEFAULT REFERESHING METHOD.IN THIS METHOD WE


ARE REFRESHING MATERIALIZED VIEW BY USING "DBMS_MVIEW"
PROCEDURE.

SYNTAX:

EXECUTE DBMS_MVIEW.REFRESH ('MVIEW NAME');

EX:

EXECUTE DBMS_MVIEW.REFRESH ('MV1');

II) ON COMMIT:

WE CAN REFRESHING A MATERIALIZED VIEW WITHOUT USING


"DBMS_MVIEW" BUT USING "ON COMMIT" METHOD.

SYNTAX:

CREATE MATERIALIZED VIEW <VIEW NAME>

REFRESH ON COMMIT

AS SELECT * FROM <TN>;


EX:

CREATE TABLE TEST2 (EID INT, SAL NUMBER (10));

EX:

CREATE MATERIALIZED VIEW MV2 REFRESH ON COMMIT

AS SELECT * FROM TEST2;

ERROR:

TABLE 'TEST2' DOES NOT CONTAIN A PRIMARY KEY CONSTRAINT.

EX:

CREATE TABLE TEST2 (EID INT PRIMARY KEY, SAL NUMBER (10));

EX:

CREATE MATERIALIZED VIEW MV2 REFRESH ON COMMIT

AS SELECT * FROM TEST2;

MATERIALIZED VIEW CREATED.

NOTE: WHEN WE CREATE MATERIALIZED VIEW ALONG WITH


REFRESH ON COMMIT METHOD ON BASE TABLE THEN BASE TABLE
SHOULD HAVE PRIMARY KEY CONSTRAINT OTHERWISE ORACLE
RETURNS AN ERROR.

TESTING:

SQL> INSERT INTO TEST2 VALUES (101,25000);

SQL> COMMIT;

SQL> SELECT * FROM MV2;

NOTE: IF WE WANT TO VIEW MATERIALIZED VIEWS

THEN WE ARE USING THE FOLLOWING DATA DICTIONARY IS

“USER_MVIEWS”.

EX:

SQL> DESC USER_MVIEWS;

SQL> SELECT MVIEW_NAME FROM USER_MVIEWS;


SYNTAX TO DROP MATERIALIZED VIEW:

SQL> DROP MATERIALIZED VIEW <MVIEW NAME>;

SQL> DROP MATERIALIZED VIEW MV1;

MATERIALIZED VIEW DROPPED.

You might also like