250 likes | 428 Views
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
E N D
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 - Adatbázis-sémák Grafikus jelölésrendszert is alkalmaz Egyszerűsített megközelítés ER-jellegű leírás
Cabibbo-Torlone modell Grafikus ábrázolás mező dimenzió tulajdonság dimenzió-szint dimenzió hierarchia tény-dimenzió kapcsolat változó többértékű dimenzió kocka nem OO alapú
Cabibbo-Torlone modell létszám munkaügy betegállomány selejt db db forgalom érték nap név termék dátum termék negyedév kategória gyártó telep név
Cabibbo-Torlone modell univerzum : U fogalom-nevek halmaza: C = {c} U tí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 ténytábla-sémák halmaza: F = {f} ténytábla-séma: f = {(A1:I1,..,An:In) , I0} f C Ai 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})
TERMEK ear nev TELEPHELY cim nev OSSZDB SELEJTDB ERTEKESITES KATEGORIA nev VEZETO nev DATUM nap VAROS megn BEOSZTAS megn alapfiz HO ho MEGYE megn EV ev 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)} } …
TERMEK ear nev TELEPHELY cim nev OSSZDB SELEJTDB ERTEKESITES KATEGORIA nev VEZETO nev DATUM nap VAROS megn BEOSZTAS megn alapfiz HO ho MEGYE megn EV ev 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}
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 • …
termek telep dátum 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 adatkockán értelmezett, adatkockát előállító operátorok
MD műveletek Szelekcio (slice and dice) - változó szelekció f(v)(F) A feltételnek eleget tévő cellák maradnak meg, a többi cella NULL értékű lesz - attributum szelekció f(D.a)(F) A feltételnek eleget tévő dimenzió értékek maradnak meg, a többi kikerül a kockából selejtdb > osszdb*0.2 (ertekesites) selejtdb > osszdb*0.2 (ertekesites)
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))
MD műveletek 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 aggregáltabb adatokra való áttérés megváltozik a szint a megadott dimenziónál durvább felbontást kapunk termek.kategoria (ertekesites)
MD műveletek 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 részletezőbb adatokra való áttérés megváltozik a szint az aktuális dimenziónál finomabb felbontást kapunk varos (ertekesites)
MD műveletek Aggregáció (fold) - dimenzió szintű D, aggr(F) A megadott dimenziók maradnak meg, az összevont cellák tartalmából az aggr aggregáció alapján képződik az eredő cella összesítőbb adatokra való áttérés szűkül a dimenzió készlet, csökken a dimenziószám durvább felbontást kapunk termek, termelte, sum() (ertekesites)
MD műveletek Kiterítés (unfold) - dimenzió szintű D(F) Behozza a kockába a megadott dimenziót (ha lehet) részletezőbb adatokra való áttérés bővül a dimenzió készlet, növekszik a dimenziószám finomabb felbontást kapunk termek (ertekesites)
MD műveletek Szorzás(join) - adatkocka szintű F1 F2 A megadott adatkockákból olyan eredő adatkocka ké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 ertekesites rendeles
MD műveletek F1 F2 d24 2 d26 a d23 1 2 d24 a D2 d22 3 D2 d23 b d21 5 d21 c d11 d12 d31 d32 D1 D3 F1 F2 (d11, d23,d31) = (1,null) (d11, d24,d31) = (2,a) (d11, d26,d31) = (null,null) …
MD műveletek 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ós adatkockára selejtdb / osszdb (ertekesites) termek,datum (ertekesites)
MD műveletek Forgatás (rotation) - dimenzió szintű d1,d2(F) A megadott dimenziók helyet cserélnek egymással részletezés szintje változatlan dimenziószám nem változik más elrendezést biztosít ábrázoláshoz fontos termek,bolt (ertekesites)
MD műveletek Rendezés (ordering) - dimenzió szintű od,kif(F) A megadott dimenzió előfordulásainak rendezése részletezés szintje változatlan dimenziószám nem változik más elrendezést biztosít ábrázoláshoz fontos o termek, nev (ertekesites)
MD műveletek • Mintapéldák • - Az x-nél olcsóbb termékekre vonatkozó adatok • TERMEK.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 nagyobbeladások ahol a terméknek csak a neve szerepel • TERMEK.nev (osszdb > x (ERTEKESITES))
MD műveletek • Mintapé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)
MD műveletek • Mintapé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))