32
SQL – OLAP 2. óra

SQL – OLAP 2. óra

  • Upload
    aoife

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

SQL – OLAP 2. óra. Multi-dimenzionális adatmodell. A normalizált relációs modell bonyolult a felhasználók számára. TELEP(tkod, nev, kozpont, regio,...) TERMÉK(kod, megnevezes, egysegar,...) TERMELES(termek, telep, datum, db, kategoria,...). ‘ termelés alakulása a keleti régióra vonatkozóan - PowerPoint PPT Presentation

Citation preview

Page 1: SQL – OLAP 2. óra

SQL – OLAP2. óra

Page 2: SQL – OLAP 2. óra

Multi-dimenzionális adatmodell

A normalizált relációs modell bonyolult a felhasználók számára

TELEP(tkod, nev, kozpont, regio,...)TERMÉK(kod, megnevezes, egysegar,...)TERMELES(termek, telep, datum, db, kategoria,...)

‘termelés alakulása a keleti régióra vonatkozóan az elmúlt három hónapra vonatkoztatva..’

CREATE VIEW v1 AS SELECT termek, datum, sum(db) as odb FROM termeles WHERE datum BETWEEN sysdate() AND sysdate() – 90 GROUP BY termek, datum;SELECT b.megnevezes, c.odb, b.egysegar*c.odb as ertek, c.datum FROM Telep a, termek b, v1 c WHERE a.tkod = c.telep AND c.termek = b.kod AND a.regio = “Kelet” ORDER BY megnevezes, datum ;

Page 3: SQL – OLAP 2. óra

Multi-dimenzionális adatmodell

‘ugyanez keresztreferencia táblázat formában .. grafikonon…’

CREATE VIEW v2 AS SELECT b.megnevezes, c.odb, b.egysegar*c.odb as ertek, c.datum FROM Telep a, termek b, v1 c WHERE a.tkod = c.telep AND c.termek = b.kod AND a.regio = “Kelet” ORDER BY megnevezes, datum ;

SELECT SUM(CASE megnevezes WHEN ‘cipo’ THEN ertek ELSE 0) CIPO, SUM(CASE megnevezes WHEN ‘kalap’ THEN ertek ELSE 0) KALAP, SUM(CASE megnevezes WHEN ‘ing’ THEN ertek ELSE 0) ING, …

FROM v2 GROUP BY datum

termékek

dátumok

Page 4: SQL – OLAP 2. óra

Multi-dimenzionális adatmodell

telep

termek

dátum

Adatkocka felépítése

A relációs táblák egydimenziós (egy kulcs) struktúrák

Lehetővé kell tenni, hogy több kulcs is rendelhető legyenaz adatokhoz

Page 5: SQL – OLAP 2. óra

Adatkocka és relációs tábla összevetése

telep

termek

dátum

termék termelés telep

Kétirányú átalakítás, ekvivalens struktúrák

Page 6: SQL – OLAP 2. óra

Adatkocka alkotó elemek

Tény(fact)

Tag (member)

Dimenzió (dimension)

Dimenzió érték

Tulajdonság(attribute)

Adatcella

Dimenzió hierarchia

telep

termek

dátum

Változó(measure) Adatkocka (cube)

Page 7: SQL – OLAP 2. óra

MD séma modell

Vásárlás

- érték - tömeg

Dátum- év- hó-- nap

Vevő- név- kód

Bolt- név- cím-

vevő

Cella-érték- darab- tömeg

bolt

Csillag (star) modell

Page 8: SQL – OLAP 2. óra

Minta csillag modell

nehéz a különböző aggregációs szintek, ismétlődő dimenziók kezelése

Page 9: SQL – OLAP 2. óra

MD séma modell

forgalomtermék

bolt

dátum

hónap

Galaxis (fact constellation) modell

reklamáció

napiforgalom

napiforgalom

Page 10: SQL – OLAP 2. óra

Minta a galaxis modellre

Nehéz a kapcsolódó dimenziók kezelése

Page 11: SQL – OLAP 2. óra

forgalomrégió bolt

Csillag modell

A forgalmat bolt és régió bontásban is szeretnénk látni

a: két külön dimenzió (érték függőség, ritka kocka)

forgalom- régió

bolt

b: egy dimenzió (eltérő szint, nem egyenrangú, korlátozott)

külön dimenzió kellene, úgy hogy a kapcsolat megmaradjon

Page 12: SQL – OLAP 2. óra

Dimenzió hierarchia

Ország A Ország B

régió AA régió AB

megye AB1 megye AB2

Járás AB11 Járás AB12

Település AB12A Település AB122B

ország

régió

megye

járás

település

sémaelőfordulás bázisszint

Page 13: SQL – OLAP 2. óra

Összetett dimenzió hierarchia

Page 14: SQL – OLAP 2. óra

MD séma modell

forgalomtermék

kategória

bolt

dátum

hónap

munkahét

Hópehely (snowflake) modell

Page 15: SQL – OLAP 2. óra

Example of a Snowflake Example of a Snowflake SchemaSchema

Many Time Attributes

Time Dimension Table

Many Store Attributes

Store Dimension Table

Sales Fact Table

Time_Key

Product_Key

Store_Key

Location_Key

unit_sales

dollar_sales

Yen_salesMeasures

Supplier_Key

Product Dimension Table

Location_Key

Location Dimension Table

Product_Key

Location_Key

Location_Key

Country

Region

Supplier_Key

Minta a hópehely modellre

osztott dimenziók kezelése

Page 16: SQL – OLAP 2. óra

MD séma modell

forgalomtermék

bolt

dátum(nap)

Hópehely-háló modell

reklamáció

hónapnegyedév

régió

gyártó

Page 17: SQL – OLAP 2. óra

Befoglalt adatkocka

Egy adatkocka (cube) adatait a dimenzióhierarchia menténhaladva és a dimenziók bevonásával eltérő részletezettségiszinten szemlélhetjük. Ezek a cuboid-ok

Page 18: SQL – OLAP 2. óra

Tervezési irányelvek

konzisztens dimenziók

Teljességet adó dimenziók

Degenerált dimenziók

Többértékű dimenziók

Date

Produ

ct

Cou

ntr

y

sum

sum TV

VCRPC

1Qtr2Qtr3Qtr4QtrU.S.A

Canada

Mexico

sum

Aggregációs függvények lehetnek:- disztributív (min(), max(), sum())- algebrai (avg(), stddev())- holistic (median(), rank())

Page 19: SQL – OLAP 2. óra

Relációs modell konverziója

- tényadatok feltárása- kapcsolatok feltárása- ténytáblák , tagok meghatározása- dimenziók kijelölése- idő dimenzió behozatala- egyéb dimenzió bővítés- attribútumok meghatározása- dimenzió hierarchia meghatározása

közben ügyelni a következőkre:- dimenzió konzisztencia- dimenzió teljesség- osztott dimenziók- időbeliség (változik-e)

Page 20: SQL – OLAP 2. óra

Konverziós mintapélda

CREATE TABLE TEL(CIM C(30), VEZ REF(DOLG), NEV C(20),HELY REF (VAROS), FUVAROZO REF(FUV), PK(NEV))CREATE TABLE TERTEKESIT(ARU REF(TERM), DATUM D,TELEP REF(TEL), OSSZ N(6), SELEJT N(6), PK(ARU,DATUM,TELEP))CREATE TABLE DOLG(KOD N(3), NEV C(20), BEOSZT REF(BEO),FIZ N(5), PK(KOD))CREATE TABLE RENDELES(RKOD N(6), IDO D, DARAB N(5),ARU REF(TERM), VEVO REF(VEVO), PK(RKOD))CREATE TABLE TERM (KOD N(4), NEV C(20), KATEG C(20),PK(KOD))CREATE TABLE VEVO (KOD N(4), NEV C(20), VAROS REF VAROS, UCIM C(20), PK KOD)CREATE TABLE VAROS (NEV C(20), MEGYE C(20)CREATE TABLE FUV (FKOD N(3), NEV C(20),CÍM C(50), PK(FKOD))

Page 21: SQL – OLAP 2. óra

Konverziós mintapélda

TEL

TERTEKESIT

DOLG

RENDELES

TERM

VEVOVAROS

FUV

TELEPHELY

ERTEKESITES

FUVAROZO

RENDELES

TERMEK

VEVOVAROS

Page 22: SQL – OLAP 2. óra

TELEPHELY

ERTEKESITES

FUVAROZO

RENDELES

TERMEK

VEVO

VAROS

MEGYE

KATEGORIA

DATUM

HO

EV

Konverziós mintapélda

Page 23: SQL – OLAP 2. óra

Konverziós mintapélda

OSSZDBSELEJTDB

ERTEKESITES

TELEPHELYcimnev

FUVAROZOnev,cim

TERMEKcimnev

KATEGORIAnev

DATUMnap

HOhoEV

ev

VAROSmegn

MEGYEmegn

Page 24: SQL – OLAP 2. óra

MD séma rekordszinten

tény tábla

név

típus

dimenzió tábla

név

típus

dimenzió tábla

név

típus

dimenzió táblanév

típus

Page 25: SQL – OLAP 2. óra

Fizikai megvalósítás

TELEPHELYcimnev

TERMEKcimnev

KATEGORIAnev

OSSZDBSELEJTDB

Logikai struktúra

72

61

70

32

91

74

72

42Dorog

Miskolc

Baja

Audi Opel Fiat Lada

Page 26: SQL – OLAP 2. óra

Dorog

Miskolc

Baja

Audi Opel Fiat Lada

Fizikai megvalósítás

7,2 6,1 7,0 3,2

9,1 7,4

7,2 4,2

K

G P

LA F O

ritkán kitöltött kocka

Page 27: SQL – OLAP 2. óra

EDBT Summer School -Cargese 2002 17

Data Warehouse Back-End

Sources

Administrator

DSA

Administrator

DW

Designer

Data Marts

Metadata Repository

End User

Quality Issues

Quality Issues

Quality Issues

Quality Issues

Reporting / OLAP tools

Tervezési irányelvek- minőségbiztosítás

Page 28: SQL – OLAP 2. óra

EDBT Summer School - Cargese 2002 21

Add_SPK1

SUPPKEY=1

SK1

DS.PS1.PKEY, LOOKUP_PS.SKEY,

SUPPKEY

$2€

COST DATE

DS.PS2 Add_SPK2

SUPPKEY=2

SK2

DS.PS2.PKEY, LOOKUP_PS.SKEY,

SUPPKEYCOST DATE=SYSDATE

AddDate CheckQTY

QTY>0

U

DS.PS1

Log

rejected

Log

rejected

A2EDate

NotNULL

Log

rejected

Log

rejected

Log

rejected

DIFF1

DS.PS_NEW1.PKEY,DS.PS_OLD1.PKEYDS.PS_NEW

1

DS.PS_OLD1

DW.PARTSUPP Aggregate1

PKEY, DAYMIN(COST)

Aggregate2

PKEY, MONTHAVG(COST)

V2

V1

TIME

DW.PARTSUPP.DATE,DAY

FTP1S1_PARTSU

PP

S2_PARTSUPP FTP2

DS.PS_NEW2

DIFF2

DS.PS_OLD2

DS.PS_NEW2.PKEY,DS.PS_OLD2.PKEY

DW Materialized Views !

Sources DW

DSA

A DW több mint aggregált adattáblák rendszere

Page 29: SQL – OLAP 2. óra

Időbeli változás követése

A struktúra jelentős változáson mehet át

- dimenzió változás- dimenzió hierarchia változás- tényváltozó változása

Változó dimenziók

átiródik

teljes verzió

tulajdonság verzió

Változások konzisztens követése?

Page 30: SQL – OLAP 2. óra

Nov 8 2002 DOLAP 2002McLean USA

Second Case StudyLocation dimension:

50-D2

150-D1

-100D

20022001

Query: « Total number of births per year and district ? »

?150-D1

50

-

2002

?-D2

?100D

Evo2001

200

2002

100D

Evo2001

50

150

2002

60**D2

40*D1

Evo2001

C1

D

2001

1. Exact view 2. First Structure 3. Second Structure

2002

C1

D1 D2

* D1 ~ 40 % of the births of D1** D2 ~ 60 % of the births of D1

Issues

Időbeli változás követése

Page 31: SQL – OLAP 2. óra

Kocka megalkotása

A problémakör több fogalmat fog egybe, ezek rendezhetők- hybercube sémába vagy- multicubes sémába

-Hypercubeegyszerűségritka kitöltésűnagy eltérés a fizikai szinttől

-Multicube:- block mode

több változó egységben- series mode

egy kocka csak egy változó

Page 32: SQL – OLAP 2. óra

Projekt feladat

Minta MD modell kidolgozása PE-re

Katica csavargyár

modulok:1. raktár2. gyártás3. rendelés/vevői és saját4. számlázás5. munkaügy6. szerviz7. bérügy