25
SQL – OLAP 3. óra

SQL – OLAP 3. óra

  • Upload
    erik

  • View
    83

  • Download
    1

Embed Size (px)

DESCRIPTION

SQL – OLAP 3. óra. MD szemantikai séma modell. hónap. termék. forgalom. dátum. kategória. bolt. munkahét. Hogyan modellezzük egzaktabb módon?. nincs egységes modell. Cabibbo- Torlone szemantikai modell. A modell elemei: - Dimenzió-sémák - Fogalom-sémák - Adatkocka-sémák - PowerPoint PPT Presentation

Citation preview

Page 1: SQL – OLAP 3. óra

SQL – OLAP3. óra

Page 2: SQL – OLAP 3. óra

MD szemantikai séma modell

forgalomtermék

kategória

bolt

dátum

hónap

munkahét

Hogyan modellezzük egzaktabb módon?

nincs egységes modell

Page 3: SQL – OLAP 3. óra

Cabibbo- Torlone szemantikai modell

A modell elemei:- Dimenzió-sémák- Fogalom-sémák- Adatkocka-sémák- Adatbázis-sémák

Grafikus jelölésrendszert is alkalmaz

Egyszerűsített megközelítés

ER-jellegű leírás

Page 4: SQL – OLAP 3. óra

Cabibbo-Torlone modell

Grafikus ábrázolás

dimenzió-szint

változó

tulajdonság

dimenzió hierarchia

tény-dimenzió kapcsolat

többértékű dimenzió

meződimenzió

nem OO alapú

kocka

Page 5: SQL – OLAP 3. óra

forgalom

nap

negyedévtermék

gyártó

kategória

dbérték

név

telepnév

dátum termék

munkaügy létszámbetegállomány

Cabibbo-Torlone modell

selejt db

Page 6: SQL – OLAP 3. óra

univerzum : Ufogalom-nevek halmaza: C = {c} Utípusok halmaza : T U

dimenzió-sémák halmaza: D = {d,R}

dimenzió-séma: d = (L,<,P) L dimenzió szintek (L C) < : szint hierarchia (< L L) P: tulajdonság (P : L 2(C T) )

dimenzió-bázisok : R r(d) = {h L(d) | h’ : h < h’} R = {r(d)}

Cabibbo-Torlone modell

Page 7: SQL – OLAP 3. óra

Cabibbo-Torlone modell

ténytábla-sémák halmaza: F = {f}

ténytábla-séma: f = {(A1:I1,..,An:In) , I0} f CAi C

Ii r(R)I0 2(C T)

adatbázis-séma: DB = (C, T,D{d(L,<,P),R}, F{f(A:I):I0})

Page 8: SQL – OLAP 3. óra

OSSZDBSELEJTDB

ERTEKESITES

TELEPHELYcimnev

VEZETOnev

BEOSZTASmegnalapfiz

TERMEKearnev

KATEGORIAnev

DATUMnap

HOhoEV

ev

VAROSmegn

MEGYEmegn

Minta séma felírása

C = {alapfiz, beosztas, ear, ertekesites, ev, cím, osszdb, selejtdb, telephely, termek, …} T = {int, char}

D = {dtermek, ddatum,dtelep, R}

dtermek = { {termek, kategoria}, {kategoria < termek}, {termek (ear,int), termek (nev,char), kategori (nev,char)}

}…

Page 9: SQL – OLAP 3. óra

OSSZDBSELEJTDB

ERTEKESITES

TELEPHELYcimnev

VEZETOnev

BEOSZTASmegnalapfiz

TERMEKearnev

KATEGORIAnev

DATUMnap

HOhoEV

ev

VAROSmegn

MEGYEmegn

Minta séma felírása

R = {termek, datum, telephely}

F = {ertekesites}

ertekesites = { (termelte:telephely, termek:termek, datum:datum), {(osszdb,int) (selejtdb,int)} }

DB = {C,T,D,F}

Page 10: SQL – OLAP 3. óra

Cabibbo-Torlone modell

Formális felírás előnyei:

- egyértelműbb jelentés- könnyebben feldolgozható - tömörebb leírás- könnyebben konvertálható- alapot adhat további egyértelmű bővítésekre

néhány további modell: - Li-Wang(1996)- Agrawal-Gupta-Sarawagi(1997)-ADAPT-…

Page 11: SQL – OLAP 3. óra

MD műveletek

Itt sincs egységes modell

gyakorlatban elterjedt műveletek:- szűrés- aggregálás- szintváltás- összekapcsolás- kibontás…

mintaként a relációs algebra jöhet szóba

telep

termek

dátum

adatkockán értelmezett, adatkockát előállító operátorok

Page 12: SQL – OLAP 3. óra

MD műveletek

Szelekcio (slice and dice)

- változó szelekció f(v)(F)A feltételnek eleget tévő cellák maradnak meg, atöbbi cella NULL értékű lesz

- attributum szelekció f(D.a)(F)A feltételnek eleget tévő dimenzió értékek maradnakmeg, a többi kikerül a kockából

selejtdb > osszdb*0.2 (ertekesites)selejtdb > osszdb*0.2 (ertekesites)

Page 13: SQL – OLAP 3. óra

MD műveletek

Projekció (slice and dice)

- változó projekció v(F)A kijelölt változók maradnak meg a cellában

- attributum projekció D.a (F)A kijelölt attributumok maradnak meg a dimenziónál

selejtdb (ertekesites)selejtdb ( selejtdb > osszdb*0.2 (ertekesites))

Page 14: SQL – OLAP 3. óra

Dimenzió összevonás (roll up)

- attributum szintű D1.D2(F)A megadott dimenzióból a megadott dimenzióba valóáttérés a dimenzió hierarchia mentén

MD műveletek

termek.kategoria (ertekesites)

aggregáltabb adatokra való áttérésmegváltozik a szint a megadott dimenziónáldurvább felbontást kapunk

Page 15: SQL – OLAP 3. óra

Dimenzió kibontás (drill down)

- attributum szintű D(F)A megadott attributum részletező dimenziójára valóáttérés a dimenzió hierarchia mentén

MD műveletek

varos (ertekesites)

részletezőbb adatokra való áttérésmegváltozik a szint az aktuális dimenziónálfinomabb felbontást kapunk

Page 16: SQL – OLAP 3. óra

MD műveletek

Aggregáció (fold)

- dimenzió szintű D, aggr(F)A megadott dimenziók maradnak meg, az összevontcellák tartalmából az aggr aggregáció alapján képződikaz eredő cella

termek, termelte, sum() (ertekesites)

összesítőbb adatokra való áttérésszűkül a dimenzió készlet, csökken a dimenziószámdurvább felbontást kapunk

Page 17: SQL – OLAP 3. óra

MD műveletek

Kiterítés (unfold)

- dimenzió szintű D(F)Behozza a kockába a megadott dimenziót (ha lehet)

termek (ertekesites)

részletezőbb adatokra való áttérésbővül a dimenzió készlet, növekszik a dimenziószámfinomabb felbontást kapunk

Page 18: SQL – OLAP 3. óra

Szorzás (join)

- adatkocka szintű F1 F2 A megadott adatkockákból olyan eredő adatkockakészítése, melyre- dimenzióhalmaza a F1 és F2 dimenzió halmazának uniója

- váltózólistája a két lista összevonása, párosa- változó értékei a megfelelő koordinátájú értékek párosa

MD műveletek

ertekesites rendeles

Page 19: SQL – OLAP 3. óra

D1

D21

d11 d12d21

d22d23d24

F1

D3

D2a

d31 d32d21

d23d24d26

F2

MD műveletek

b

c

2

5

3

a2

F1 F2

(d11, d23,d31) = (1,null)(d11, d24,d31) = (2,a)(d11, d26,d31) = (null,null)…

Page 20: SQL – OLAP 3. óra

Kiterjesztés (extension)

- változó szintű v(F)Új változó hozzáadása, melynek értéke a meglévő változókból származtatható

Pivotálás

- adatkocka szintű D1,D2,aggr (F)Áttérés aggregációk sorozatával kétdimenziósadatkockára

MD műveletek

selejtdb / osszdb (ertekesites) termek,datum (ertekesites)

Page 21: SQL – OLAP 3. óra

MD műveletek

Forgatás (rotation)

- dimenzió szintű d1,d2(F)A megadott dimenziók helyet cserélnek egymással

termek,bolt (ertekesites)

részletezés szintje változatlandimenziószám nem változikmás elrendezést biztosít ábrázoláshoz fontos

Page 22: SQL – OLAP 3. óra

MD műveletek

Rendezés (ordering)

- dimenzió szintű od,kif(F)A megadott dimenzió előfordulásainak rendezése

o termek, nev (ertekesites)

részletezés szintje változatlandimenziószám nem változikmás elrendezést biztosít ábrázoláshoz fontos

Page 23: SQL – OLAP 3. óra

MD műveletek

Mintapéldák

- Az x-nél olcsóbb termékekre vonatkozó adatokTERMEK.ear > x (ERTEKESITES)

- Az x-nél rosszabb selejtarányú eladásra vonatkozó adatok:selejtdb/osszdb > x (ERTEKESITES)

- Adatkocka a selejtarányok nélkül

osszdb (ERTEKESITES) - Az x-nél nagyobb eladások ahol a terméknek csak a neve szerepel

TERMEK.nev (osszdb > x (ERTEKESITES))

Page 24: SQL – OLAP 3. óra

MD műveletekMintapéldák

- Értékesítési adatok város szerinti bontásban TELEPHELY.varos (ERTEKESITES)

-Az x-nél rosszabb selejtarányú eladásra vonatkozó adatok megye bontásban: VAROS.megye (TELEPHELY.varos (selejtdb/osszdb > x (ERTEKESITES))) - Áttérés hónap bontásról napi bontásra

HO (C) ahol C = DATUM.ho (ERTEKESITES)

- Értékesítési adatok termék és idő dimenzióban TERMEK, DATUM, Sum (ERTEKESITES)

Page 25: SQL – OLAP 3. óra

MD műveletekMintapéldák

- Az x-nél rosszabb selejtarányú eladásra vonatkozó adatok megye és hónap bontásban: MEGYE, HONAP, Sum (DATUM.ho (VAROS.megye (TELEPHELY.varos (selejtdb/osszdb > x (ERTEKESITES)))) - Az értékesítési adatok összevonása egy KOLTSEG (ertek, TELEPHELY,HO) adatkockával: TELEPHELY, HONAP, Sum (DATUM.ho (ERTEKESITES)) KOLTSEG

- Havi költségadatok megjelenítése dollárban TELEPHELY, Sum (ertek/ 225 dollar (KOLTSEG))