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