ORACLEÎﻯÊÓͼ ÀûÓÃά¶ÔÏóÀ´ÓÅ»¯Êý¾Ý²Ö¿âµÄ¸ß¼¶¼¼ÇÉ
http://www.anysql.net/oracle/oracle_olap_dimension.html
ÔÚOracleµÄÊý¾Ý²Ö¿â(OLAP)ÖÐ, ʵÌ廯ÊÓͼ(MVIEW), ²éÑ¯ÖØÐ´(Query Rewrite)ºÍά(Dimension)ÊǷdz£ÖØÒªµÄÓÅ»¯ÊÖ¶Î, ¶ÔÓÚǰÁ½ÕßÎÒ²»ÏëÔÚÕâ¶ùÖØ¸´½²ÁË, Ö÷ÒªÀ´ÌåÑéÒ»ÏÂάµÄ×÷ÓÃ. Òª·¢»ÓάµÄ×÷ÓÃ, »¹ÊÇÐèÒªÓõ½Ç°ÃæÁ½Õß, ÏÂÃæÊÇÎÒÉè¼ÆµÄÖ»ÓÐÒ»¸öά±íµÄ×î¼òµ¥µÄÀý×Ó. Êý¾Ý¿âÓû§³ýÁËconnect, resourceÍâ, »¹Òª¸øÓèQuery Rewrite, Create Materialized View, Create DimensionȨÏÞ.
1, ´´½¨Ò»¸öά»¤±í.
CREATE TABLE TIME_DIM
AS
SELECT TO_CHAR(SYSDATE+ROWNUM,'YYYY') F_YEAR,
TO_CHAR(SYSDATE+ROWNUM,'YYYY-Q') F_QUATER,
TO_CHAR(SYSDATE+ROWNUM,'YYYY-MM') F_MONTH,
TRUNC(SYSDATE+ROWNUM,'DD') F_DAY
from DBA_OBJECTS
WHERE ROWNUM < 1000;
ALTER TABLE TIME_DIM MODIFY F_YEAR NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_QUATER NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_MONTH NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_DAY NOT NULL;
ALTER TABLE TIME_DIM ADD PRIMARY KEY (F_DAY);
2, ´´½¨Ò»¸öÊÂʵ±í.
CREATE TABLE FACT_SALES
AS
SELECT TRUNC(SYSDATE+ROWNUM,'DD') F_DAY,
TRUNC(DBMS_RANDOM.VALUE * 10000,2) M_AMOUNT1,
TRUNC(DBMS_RANDOM.VALUE * 10000,2) M_AMOUNT2
from DBA_OBJECTS
WHERE ROWNUM < 1000;
-- Please execute the following insert multiple times
INSERT INTO FACT_SALES
SELECT F_DAY,
TRUNC(DBMS_RANDOM.VALUE * 10000,2) M_AMOUNT1,
TRUNC(DBMS_RANDOM.VALUE * 10000,2) M_AMOUNT2
from FACT_SALES
/
ALTER TABLE FACT_SALES MODIFY F_DAY NOT NULL;
ALTER TABLE FACT_SALES ADD FOREIGN KEY (F_DAY) REFERENCES TIME_DIM(F_DAY);
&
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
¶ÔÓÚÒ»¸ö¸ø¶¨µÄSQL, ºÍÏÖÓеÄMVIEW, Õâ¸öSQL¿ÉÄܱ»Rewrite, Ò²¿ÉÄܲ»Äܱ»Rewrite, ÈçºÎÕÒ³öÕâÆäÖеÄÔÒòÄØ, ¿¿¾Ñé¿ÉÒÔ½â¾öһЩÎÊÌâ, ²»¹ýËù»¨µÄʱ¼ä¾ÍÒª³¤Ò»µãÁË. ÆäʵÔÚOracleÖÐÌṩÁËÒ»¸öº¯Êý¿ÉÒÔÓÃÓÚ½âÊÍΪʲôij¸öSQL²»Äܱ»ÖØÐ´, Õâ¸ö¹ý³ÌλÓÚdbms_mviewÕâ¸ö°üÖÐ, ¹ý³ÌÃûΪexplain_rewrite, ÓÐÁËÕâ¸ö¹¤¾ß, ¿ÉÒ ......
Oracle ´´½¨ÐòÁУº
create sequence SEQ_Tablename_id
increment by 1 &nbs ......
µ¼³ö EXP USER/PASSWORD@ODBC FILE=C£º\***.DMP ROWS=N //²»±£´æÊý¾Ý£»
µ¼³ö EXP USER/PASSWORD@ODBC FILE=C£º\***.DMP //±£´æÊý¾Ý£»
µ¼³ö EXP USER/PASSWORD@ODBC FILE=C£º\***.DMP full=y //È«²¿µ¼³ö£»
µ¼Èë imp user/password@odbc file=c:\***.dmp full=y ignore=y;
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏà ......