You are on page 1of 3

-----KADDOUR HADJER G3 181837021325

--------------R1
SELECT SUM(F.NBTRANSACTIONS) FROM FTRANSACTION F , MASTER2.DCLIENT C
WHERE
F.CODECL=C.CODECL
AND C.LIBTYPECL='ENTREPRISE'
;

--------------2 LA VUE MATERIALIS�E VMTCL:


CREATE MATERIALIZED VIEW VMTCL
BUILD IMMEDIATE
REFRESH COMPLETE ON COMMIT
ENABLE QUERY REWRITE
AS
SELECT SUM(F.NBTRANSACTIONS) AS NOMBRE_DE_TRANSACTION ,C.LIBTYPECL AS TYPE FROM
FTRANSACTION F , MASTER2.DCLIENT C
WHERE
F.CODECL=C.CODECL
GROUP BY C.LIBTYPECL
;

--3
LA RE�XCUTION DE R1

-------------4 LA VUE MATERIALIS�E VMTCL:


CREATE MATERIALIZED VIEW VMTBMENSUEL
BUILD DEFERRED
REFRESH COMPLETE ON COMMIT
ENABLE QUERY REWRITE
AS SELECT DT.MOIS ,SUM (F.NBTRANSACTIONS) AS TOTALMENSUELS
FROM DTEMPS DT , FTRANSACTION F
WHERE
DT.CODETEMPS =F.CODETEMPS
GROUP BY
DT.MOIS;

ALTER SYSTEM FLUSH BUFFER_CACHE;


ALTER SYSTEM FLUSH SHARED_POOL;

-------------R2
SELECT DT.ANNEE ,SUM (F.NBTRANSACTIONS) AS TOTALANNUEL
FROM DTEMPS DT , FTRANSACTION F
WHERE
DT.CODETEMPS =F.CODETEMPS
GROUP BY
DT.ANNEE;

-- CREATION DE DIMENSION
CREATE DIMENSION D_TIME
LEVEL DATET IS (DTEMPS.CODETEMPS)
LEVEL JOUR IS (DTEMPS.JOUR)
LEVEL MOIS IS (DTEMPS.MOIS)
LEVEL ANNEE IS (DTEMPS.ANNEE)
HIERARCHY GEOG_ROLLUP (
DATET CHILD OF
JOUR CHILD OF
MOIS CHILD OF
ANNEE
)
;

CREATE DIMENSION D_LOC


LEVEL COMMUNE IS (DCOMMMUNE.CODECOMMUNE)
LEVEL DAIRA IS (DCOMMMUNE.CODEDAIRA)
LEVEL WILAYA IS (DCOMMMUNE.CODEWILAYA)
HIERARCHY LOC_ROLLUP (
COMMUNE CHILD OF
DAIRA CHILD OF
WILAYA
)
ATTRIBUTE COMMUNE DETERMINES (DCOMMMUNE.NOMC)
ATTRIBUTE DAIRA DETERMINES (DCOMMMUNE.NOMDAIRA)
ATTRIBUTE WILAYA DETERMINES (DCOMMMUNE.NOMWILAYA)
;

ALTER SESSION SET QUERY_REWRITE_INTEGRITY=TRUSTED;

CREATE MATERIALIZED VIEW VMDAIRA


BUILD DEFERRED
REFRESH COMPLETE ON COMMIT
ENABLE QUERY REWRITE
AS SELECT DT.NOMDAIRA ,SUM (F.NBTRANSACTIONS) AS TOTALMENSUELS
FROM DCOMMMUNE DT , FTRANSACTION F
WHERE
DT.CODECOMMUNE =F.CODECOMMUNE
GROUP BY
DT.NOMDAIRA;

-----------R3
SELECT DC.CODEWILAYA ,DT.ANNEE,SUM (F.NBTRANSACTIONS) AS TOTALWILAYA
FROM DCOMMMUNE Dc ,DTEMPS DT , FTRANSACTION F
WHERE
DT.CODETEMPS =F.CODETEMPS
AND
Dc.CODECOMMUNE =F.CODECOMMUNE
GROUP BY
DC.CODEWILAYA,DT.ANNEE ;

SELECT DT.ANNEE,SUM (F.NBTRANSACTIONS) AS TOTAL, dB.LIBTYPEB


FROM DTEMPS DT , FTRANSACTION F ,DTYPE_BIEN db
WHERE
db.CODETYPEB =f.CODETYPEBIEN
AND
DT.CODETEMPS =F.CODETEMPS
GROUP BY DT.ANNEE,dB.LIBTYPEB ;

SELECT DC.CODEWILAYA ,DT.ANNEE,SUM (F.NBTRANSACTIONS) AS TOTALWILAYA


FROM DCOMMMUNE Dc ,DTEMPS DT , FTRANSACTION F
WHERE
DT.CODETEMPS =F.CODETEMPS
AND
Dc.CODECOMMUNE =F.CODECOMMUNE
GROUP BY
rollup( DC.CODEWILAYA,DT.ANNEE );

SELECT DC.CODEWILAYA ,DT.ANNEE,SUM (F.NBTRANSACTIONS) AS TOTALWILAYA


FROM DCOMMMUNE Dc ,DTEMPS DT , FTRANSACTION F
WHERE
DT.CODETEMPS =F.CODETEMPS
AND
Dc.CODECOMMUNE =F.CODECOMMUNE
GROUP BY
cube( DC.CODEWILAYA,DT.ANNEE );

You might also like