SQL – OLAP 2. óra

Preview:

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

SQL – OLAP2. ó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 ;

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

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

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

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)

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

Minta csillag modell

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

MD séma modell

forgalomtermék

bolt

dátum

hónap

Galaxis (fact constellation) modell

reklamáció

napiforgalom

napiforgalom

Minta a galaxis modellre

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

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

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

Összetett dimenzió hierarchia

MD séma modell

forgalomtermék

kategória

bolt

dátum

hónap

munkahét

Hópehely (snowflake) modell

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

MD séma modell

forgalomtermék

bolt

dátum(nap)

Hópehely-háló modell

reklamáció

hónapnegyedév

régió

gyártó

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

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())

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)

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))

Konverziós mintapélda

TEL

TERTEKESIT

DOLG

RENDELES

TERM

VEVOVAROS

FUV

TELEPHELY

ERTEKESITES

FUVAROZO

RENDELES

TERMEK

VEVOVAROS

TELEPHELY

ERTEKESITES

FUVAROZO

RENDELES

TERMEK

VEVO

VAROS

MEGYE

KATEGORIA

DATUM

HO

EV

Konverziós mintapélda

Konverziós mintapélda

OSSZDBSELEJTDB

ERTEKESITES

TELEPHELYcimnev

FUVAROZOnev,cim

TERMEKcimnev

KATEGORIAnev

DATUMnap

HOhoEV

ev

VAROSmegn

MEGYEmegn

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

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

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

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

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

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?

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

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ó

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

Recommended