Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011...

38
Data Warehouses Sommersemester 2011 Melanie Herschel [email protected] Lehrstuhl für Datenbanksysteme, Universität Tübingen Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Europe North America Anfragen in Operativen Systemen und Data Warehouses 2 Operative Datenbank Data Warehouse Transaktionale Anfragen Insert, Update, Delete, Select Anfragen über einzelne / wenige Tupel Anfrageoptimierung siehe VL Datenbanken II Analytische Anfragen Bulk-Insert und Select Typische Anfragetypen (drill down, slice, dice, ...) Spezialisierte Optimierungsverfahren Anfragen Produktgruppe Region Jahr Asia ... 2002 2003 2004 2005 2006 2007 Books CDs DVDs ... UPDATE Order SET amount = amount + 1 WHERE OrderID = 1 AND BookID = 204

Transcript of Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011...

Page 1: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses

Sommersemester 2011

Melanie [email protected]

Lehrstuhl für Datenbanksysteme, Universität Tübingen

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Europe

North America

Anfragen in Operativen Systemen und Data Warehouses

2

OperativeDatenbank

Data Warehouse

• Transaktionale Anfragen

• Insert, Update, Delete, Select

•Anfragen über einzelne / wenige Tupel

•Anfrageoptimierung siehe VL Datenbanken II

•Analytische Anfragen

•Bulk-Insert und Select

• Typische Anfragetypen (drill down, slice, dice, ...)

•Spezialisierte Optimierungsverfahren

Anfragen

Produktgruppe

Region

Jahr

Asia

...

2002

2003

2004

2005

2006

2007

Books CDs DVDs ...

UPDATE OrderSET amount = amount + 1WHERE OrderID = 1 AND BookID = 204

Page 2: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Beispiel eines multidimensionalen Datenmodells (Cube und Dimensionshierarchien)

Gegeben: ein Multidimensionales Datenmodell

3

Produkt

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit

Ort

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Datenwürfel(feinste Granularität) Dimensionshierarchien

Produkte

Typen

Kategorien

Jahr

Quartal

Monat

Zeit

Stadt

Ort

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Ziel: Beantworten Analytische Anfragen

4

• Erinnerung: Das Data Warehouse integriert Daten, um eine globale Sicht über Geschäftsprozesse zu erlangen, die für Analysezwecke verwendet werden soll.

• Im Unterschied zu Anfragen auf “klassichen” relationalen Daten in operativen Systemen folgen analytische Anfragen oft gewissen Mustern.

• Man unterscheidet zwischen OLTP (Online Transaction Processing) Anfragen in operativen Datenbanken und OLAP (Online Analytical Processing) Anfragen in Data Warehouses.

Page 3: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Beispiele für OLAP Anfragen

5

• Navigation innerhalb eines Cubes z.B. “Anzahl verkaufter Kinderbücher im Januar, unabhängig vom Ort”

• Navigation durch verschiedene Granularitätsebenenz.B. “Verkaufszahlen pro Produkttyp (Musik, Film, ...) in einem Quartal pro Standort”

• Navigation durch mehrere korrelierte Cubesz.B. “Gesamtverkaufszahlen in Läden und im Internet”, wobei wir zwei Cubes (Produkt / Zeit / Stadt) und (Produkt / Zeit / Kunde) haben.

• Rankinganfragenz.B. “Die 10 beliebteste Bücher im Jahr 2009 pro Land”.

• In diesem ersten Teil von Kapitel 4 besprechen wir häufige Anfragemuster für OLAP Anfragen genauer.

Kapitel 4.1Typische Anfragen

6

OLAP Operationen

• Innerhalb eines Cubes

• Über mehrere Cubes

• Pivot

Sprachen für OLAP

• MDX

• SQL Erweiterungen

Page 4: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• In diesem Abschnitt nehmen wir an, dass das Data Warehouse Schema (= Schema der dispositiven Datenbasis) nur einen einzelnen Datenwürfel beinhaltet.

• Zur Einfachheit der Darstellung verwenden wir stets maximal drei Dimensionen. Die hier vorgestellten Konzepten gelten aber auch für Datenwürfel mit beliebig vielen Dimensionen.

• Zur Einfachheit der Darstellung verwenden wir eine Kennzahl pro Fakt. Im Allgemeinen können beliebig viele Kennzahlen pro Fakt existieren.

Annahmen

7

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Alle in diesem Abschnitt besprochenen Anfragemuster dienen zur Navigation im multidimensionalen Datenmodell.

• Roll-up / Consolidate: Navigiere zu Daten gröberer Granularität

• Drill-down: Navigiere zu Daten feinerer Granularität

• Drill-out / Split: Expandiere Daten durch weitere Dimensionen

• Drill-in / Merge: Reduziere Dimensionalität der Daten

• Slice: Selektiere Daten basierend auf einer Einschränkung einer Dimension.

• Dice: Selektiere Daten basierend auf Einschränkungen mehrerer Dimensionen.

Überblick Besprochener Anfragemuster

8

Page 5: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Ein Roll-up entspricht also einem Hinauszoomen aus dem aktuellen Datenwürfel, was dazu führt, dass das Ergebnis einen geringeren Detailgrad hat,z.B. Rollup des Würfels (Produktkategorie / Monat / Stadt) zu (Produkttyp / Monat / Stadt).

• Dieses Hinauszoomen geschieht entlang einer oder mehrerer Dimensionen, z.B. Roll-Up Beispiel oben oder Roll-up zu (Produkttyp / Quartal / Stadt).

• Es ist auch möglich, zur Wurzel TopD einer oder mehrerer Dimensionen zu navigieren. Geschieht dies entlang aller Dimensionen, beinhaltet das Ergebnis nur noch einen Fakt.

Roll-UpDefinition

9

Roll-Up (auch Consolidate)

Gegeben sei ein n-dimensionaler Datenwürfel C = (DS, M) = ({D1, ..., Dn}, {M1, ..., Mp}) mit den Dimensionen entsprechenden Granularitäten G = {l1, l2, ...,ln}, wobei li der Ebene des Schemas {D1, ..., Dm, TopD; "} der Dimension Di entspricht, 1 ! li ! m+1.

Während einer Roll-Up Operation (auch Consolidate genannt) wird für eine Menge DSup ⊆ DS zu einer gröberen Granularität navigiert, d. h. es gilt

∀ Di ∈ DSup, Dj ∈ DS, i = j, i < m + 1: lj < li ! m+1

und

∀ Di ∉ DSup, Dj ∈ DS, i = j: li = lj

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Roll-UpBeispiel - Roll-Up einer Einzelnen Dimension

10

Roll-Up einer einzelnen Dimension

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Typ)

Bücher

Medien

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Roll-Up der Produkt-Dimension:(Kategorie / Monat / Stadt) ! (Typ / Monat / Stadt)

Page 6: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Roll-Up mehrerer Dimension

Roll-UpBeispiel - Roll-up Mehrerer Dimensionen

11

Produkt(Typ)

Bücher

Medien

Zeit (Quartal)

Ort(Stadt)

BerlinStuttgartParis

Lyon...Q1

Q2

Roll-Up der Produkt und der Jahr Dimension:(Kategorie / Monat / Stadt) ! (Typ / Quartal / Stadt)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Roll-Up zur Wurzel aller Dimensionen

Roll-Up zur Wurzel aller Dimensionen:

(Kategorie / Monat / Stadt) ! (Produkte / Zeit / Ort)

Roll-UpBeispiel - Roll-up zur Wurzel aller Dimensionen

12

Produkt(Produkt)

Produkte

Zeit Zeit (Zeit)

Ort(Ort)

Ort

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Page 7: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Wiederhohlung:

• Kennzahl gehört zu einem Fakt, dieser hat wiederum eine gewisse Granularität.

• Zwei Eigenschaften einer Kennzahl:

• Numerischer Wert

• Formel, mit der die Kennzahl aus anderen abgeleitet werden kann.

• Bei einem Roll-Up navigieren wir von einer feineren Granularität G1 der Fakten zu einer gröberen Granularität G2 der Fakten.

• Die Formel, die für Kennzahlen von Fakten der Granularität G2 definiert ist (falls vorhanden) wird angewandt, um den numerischen Wert abzuleiten.

• Dabei ist allerdings die Eigenschaft der Summierbarkeit (additiv, semi-additiv oder nicht additiv) der Kennzahlen zu beachten.

• Im Fall semi-additiver oder nicht-additiver Kennzahlen lassen sich ggf. Kennzahlen nur aus Basisdaten (Daten feinster Granularität in allen Dimensionen) ableiten.

Roll-UpAbleitung von Kennzahlen

13

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Leiten Sie die Kennzahlen des aus dem Roll-Up resultierenden Cubes ab (nur anhand sichtbarer Werte)

Roll-UpAbleitung von Kennzahlen

14

Produkt(Typ)

Bücher

Medien

Zeit (Quartal)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Q1

Q2

Roll-Up der Produkt und der Jahr Dimension:(Kategorie / Monat / Stadt) ! (Typ / Quartal / Stadt)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai

Juni

5 3 5 4 4 2

2

2

5

2

2 3 3 2 2

2 2 2 2 3

3 5 4 4 5

2 3 3 2 3

2 2 4

Page 8: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Drill-Down

15

Drill-Down

Gegeben sei ein n-dimensionaler Datenwürfel C = (DS, M) = ({D1, ..., Dn}, {M1, ..., Mp}) mit den Dimensionen entsprechenden Granularitäten G = {l1, l2, ...,ln}, wobei li der Ebene des Schemas {D1, ..., Dm, TopD; !} der Dimension Di entspricht, 1 ! li ! m+1.

Während einer Drill-Down Operation wird für eine Menge DSDOWN ⊆ DS zu einer feineren Granularität navigiert, d. h. es gilt

∀ Di ∈ DSup, Dj ∈ DS, i = j: li < lj

und

∀ Di ∉ DSup, Dj ∈ DS, i = j: li = lj

• Drill-Down ist die inverse Operation zu Roll-Up.

• Ermöglicht Navigation von einem gröberen Detailgrad zu einem feineren Detailgrad (Hineinzoomen) entlang mindestens einer Dimension.

• Z.B. von (Produkttyp / Quartal / Stadt) zu (Kategorie / Monat / Stadt).

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Roll-Up mehrerer Dimension

Drill-DownBeispiel - Drill-up Mehrerer Dimensionen

16

Drill-Down der Produkt und der Jahr Dimension:

(Typ / Quartal / Stadt)! (Kategorie / Monat / Stadt)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Typ)

Bücher

Medien

Zeit (Quartal)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Q1

Q2

Page 9: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Operatoren zur Navigation zwischen unterschiedlichen Granularitäten entlang einer oder mehrerer Dimensionen.

• Roll-Up: Weniger Detailgrad

• Drill-Down: Mehr Detailgrad

• Ermittlung der Kennzahlen (wenn Ergebniscube nicht materialisiert):

• Bei Roll-Up: mögliche Ableitung anhand der Detaildaten im Eingabecube.

• Bei Drill-Down: Ableitung aus Daten feinster (und materialisierter) Granularität

• In beiden Fällen bleibt die Dimensionalität des Datenwürfels unverändert, d.h. die Anwendung eines Roll-Up / Drill-Down auf einen n-dimensionalen Cube resultiert in einem n-dimensionalen Cube.

• Ausnahme: Navigation von oder zur Wurzel mindestens einer Dimension.

Zusammenfassung Roll-Up / Drill-Down

17

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Bei einem Drill-Out (auch Split genannt) wird ein n-dimensionaler Datenwürfel durch k weitere Dimension mit feinerer Granularität als TopD ergänzt, wobei k >= 1.

! Ergebnis ist ein (n+k)-dimensionaler Datenwürfel

• Wie bei Drill-Down wird auch hier zu detaillierteren Daten navigiert.

• Im Gegensatz zu einem Drill-Down wird der Detailgrad nicht wie bisher durch eine feinere Granularität erhöht, sondern durch eine Anreicherung dimensionaler Information.

Drill-Out / Split

18

Page 10: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Drill-Out des 1D-Würfels (Kategorie) zum 2D-Würfel (Kategorie / Quartal)

Drill-Out / Split

19

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

50

20

15

20

40

30

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

10

5

5

3

10

5

Q1

Q2 Zeit

(Quartal)

20

5

4

3

15

5

20

5

3

4

5

10

10

5

3

4

10

10

Q3

Q4

Drill-Out der Zeit-Dimension

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Inverse Operation zu Drill-Out.

• Bei einem Drill-In (auch Merge genannt) werdem einem n-dimensionalen Datenwürfel k Dimension entfernt, wobei k < n.

! Ergebnis ist ein (n-k)-dimensionaler Datenwürfel

• Wie bei Roll-Up wird auch hier der Detailgrad reduziert.

• Im Gegensatz zu einem Roll-Up wird der Detailgrad nicht wie bisher durch eine gröbere Granularität reduziert, sondern durch ein Entfernen dimensionaler Information.

Drill-In / Merge

20

Page 11: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Drill-In des 2D-Würfels (Kategorie / Quartal) zum 1D-Würfel (Kategorie)

Drill-In / Merge

21

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

50

20

15

20

40

30

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

10

5

5

3

10

5

Q1

Q2 Zeit

(Quartal)

20

5

4

3

15

5

20

5

3

4

5

10

10

5

3

4

10

10

Q3

Q4

Drill-In der Zeit-Dimension

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Realisiert eine Ausschnittsbildung gemäß den in einer Dimension vordefinierten Begriffswelten (gegeben durch das Dimensionsschema)

• Parameter des Slice-Operators ist ein Filterkriterium, das Punkt- oder Bereichsanfragen über eine Dimension beschreibt.

• Filterkriterium mit AND-, OR-, NOT-Konstruktionen.Z.B. Monat > Feb. AND Monat <= Nov. AND Monat <> April

• Filterkriterium auf einer oder mehreren Hierarchieebenen der DimensionZ.B. Land = DE AND PLZ = 10179

• Notation Slice(p, D): Selektiere nur die “Scheiben” entlang der Dimension D, die dem Filterkriterium p entsprechen.

Slice

22

Page 12: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Slice

23

Slice mit einfachem Filterkriterium (Monat = Feb.)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Slice(Monat = Feb., Zeit)

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Slice

24

Slice mit einer Disjunktion als Filterkriterium (Monat = Feb. OR Monat = April)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Slice(Monat = Feb. OR Monat = April, Zeit)

Page 13: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Slice

25

Slice über die Zeitdimension, bestehend aus zwei Hierarchien (Kalender- & Bilanzjahr)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan. ...

April

... Juli ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan. ...

April

... Juli ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Slice( Kalenderjahr = 2011 AND (Kalenderquartal = Q1

OR Kalenderquartal = Q2) , Zeit)

Monat

Tag

Bilanzquartal Kalenderquartal

Bilanzjahr Kalenderjahr

Zeit

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Anwendung von Slice-Operatoren entlang mehrerer Dimensionen.

• Z.B. Slice(Monat = Jan., Zeit) UND Slice(Stadt = Berlin, Ort)

• Bei Slice haben wir stets “Scheiben” des Würfels ausgeschnitten, da nur entlang einer Dimension gefiltert wurde.

• Mittels Dicing können nun beliebige “Unterwürfel” ausgeschnitten werden.

Dice

26

Page 14: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Dice

27

Dice entlang zweier Dimensionen

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Slice(Monat = April, Zeit)UND

Slice(Stadt = Berlin OR Stadt = Stuttgart, Ort)

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Dice

28

Dice entlang drei Dimensionen

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan. ...

April

... Juli ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan. ...

April

... Juli ...

5 3 5 4 4 ...

2

2

5

2

2 3 3 2 ...

2 2 2 2 ...

3 5 4 4 ...

2 3 3 2 ...

2 2 ...

Slice(Quartal = Q1 OR Quartal = Q2, Zeit)ANDSlice(Produkttyp = Medien, Produkt)ANDSlice(Stadt = Berlin OR Stadt = Stuttgart)

Page 15: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Kapitel 4.1Typische Anfragen

29

OLAP Operationen

• Innerhalb eines Cubes

• Über mehrere Cubes

• Pivot

Sprachen für OLAP

• MDX

• SQL Erweiterungen

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Bisher haben wir stets einen Datenwürfel betrachtet.

• In einem Data Warehouse werden üblicherweise mehrere Datenwürfel gespeichert. Zum Beispiel

• Ein Würfel mit Dimensionen (Zeit, Produkt, Ort) zur Verwaltung von Verkaufszahlen nach Zeit, Produkt und Filiale.

• Ein Würfel mit Dimensionen (Zeit, Produkt, Onlinekunde) zur Verwaltung von Online-Verkaufszahlen von Produkten an Kunden zu gegebener Zeit.

Korrelierte Datenwürfel

30

Warum kein Würfel (Zeit, Produkt, Ort, Kunde)?

Page 16: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Korrelierte Datenwürfel teilen sich eine oder mehrere conformed dimensions.

Korrelierte Datenwürfel

31

Conformed dimensions (übereinstimmende Dimensionen)

Zwei Dimensionen D und D’ sind übereinstimmend wenn für ihre Wertebereiche dom(D) ⊆ dom(D’) oder dom(D’) ⊆ dom(D) gilt.

Beispiel übereinstimmender und nicht übereinstimmender Dimensionen

Produkte

Bücher Medien

Kinder Roman Musik DVD

Produkte

Bücher Medien

BelletristikKinder Roman Musik DVD

conformed

not conformed

Produkte

Bücher Medien

Kinder Roman Musik DVD

Produkte

Bücher Medien

Wissenschaft Roman Musik DVD

Produkte

Bücher Medien

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Korrelierte Datenwürfel

32

Korrelierte Datenwürfel

Zwei Datenwürfel sind DC = (DS, M) und DC’ = (DS’, M’) korreliert, wenn mindestens ein Dimensionspaar (Di, Dj), wobei Di ∈ DS, Dj ∈ DS’ übereinstimmt.

Sei CD die Menge aller Dimensionspaare

{(Di, Dj) | Di ∈ DS, Dj ∈ DS’, Di übereinstimmend mit Dj}.

Beispiel zweier korrelierter Datenwürfel mit CD = {(Produkt, Produkt), (Zeit, Zeit)}

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Zeit (Monat)

Lager

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Page 17: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Der Drill-Across Operator wird über mehrere korrelierte Datenwürfel angewandt.

• Er dient dazu, Kennwerte der Fakten der korrelierten Würfen zu kombinieren um eine globalere Analyse (über mehrere Würfel hinweg) durchzuführen.

• Die Kennzahlen müssen sinnvoll kombiniert werden!

• Z.B. kann das bestverkaufte Produkt über Filialhandel und Onlinehandel hinweg dadurch bestimmt werden, indem die Kennzahlen (jeweils Verkaufszahl) der Cubes (Zeit, Produkt, Ort) und (Zeit, Produkt, Onlinekunde) summiert werden.

• Der von einem Drill-Across zweier Würfel DC = (DS, M) und DC’ = (DS’, M’)zurürckgegebene Datenwürfel besteht aus

• Der Menge der Dimensionen {gröbste(Di, Dj) | (Di, Dj) ∈ CD }

(siehe Folie 32 für die Definition von CD)

• Der Menge der Kennzahlen M ∪ M’ bzw. daraus abgeleiteter Kennzahlen

Drill-Across

33

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Drill-Across

34

Drill Across Beispiel 1: Gesamtverkauf (Filial- + Onlineverkauf) von Produkten nach Zeit

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Kunde

NeuStandardSilber

GoldPlatin

Jan.

Feb.

März

April

Mai ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Jan.

Feb.

März

April

Mai ...

Ableitung der Kennzahlen:verkaufszahl(m,k) = "si ∈ Stadt verkaufszahl(m,k,si) + "ki ∈ Kunde verkaufszahl(m,k,ki)

Page 18: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Drill-Across

35

Drill-Across Bsp. 2: Bei welchen Produkten liegt der Lagerbestand stets über 60% der Anzahl verkaufter Produkte?

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Zeit (Monat)

Lager

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Verkaufszahlen

Lagerbestände

Kapitel 4.1Typische Anfragen

36

OLAP Operationen

• Innerhalb eines Cubes

• Über mehrere Cubes

• Pivot

Sprachen für OLAP

• MDX

• SQL Erweiterungen

Page 19: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Bei einem Pivot (auch Rotation) wird konzeptuell der Datenwürfel um eine Achse gedreht.

• Dieser Operator wird hauptsächlich für anschauliche Navigation bzw. zur Report-Generierung (Menge von 2D-Spreadsheets verwendet).

• Dieses Pivoting ist eigentlich Aufgabe der Präsentationssoftware.

Pivot

37

Pivot des Würfels (Zeit, Produkt, Ort) in (Ort, Produkt, Zeit)

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit (Monat)

Ort(Stadt)

BerlinStuttgartParis

Lyon...

Jan.

Feb.

März

April

Mai ...

Produkt(Kategorie)

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Ort(Stadt)

Zeit(Monat)

Jan.Feb.

MärzApril

...

Berlin

Stuttgart

Paris

Lyon ... ...

Kapitel 4.1Typische Anfragen

38

OLAP Operationen

• Innerhalb eines Cubes

• Über mehrere Cubes

• Pivot

Sprachen für OLAP

• MDX

• SQL Erweiterungen

Page 20: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Die bisher besprochenen OLAP Operationen arbeiten auf Würfeln

• Navigation entlang der Dimensionshierarchie: Roll-Up, Drill-Down

• Erweiterung / Reduktion der Dimensionalität: Split / Merge

• Selektion: Slice, Dice

• Kombination von Daten mehrerer Würfel: Drill-Across

• Weitere analytische Anfragen, die zu OLAP Operationen gezählt werden

• Gleitende Durchschnitte

• Arbeiten auf Zeitreihen

• Relative Wertevergleiche

OLAP Operationen

39

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Allgemein

• Bereitstellung der notwendigen Operationen

• Deklarative Ansätze

• Kein vielfach geschachteltes SQL, weniger verbos als Standard SQL

• Im Wesentlichen zwei Ansätze

• Multidimensional Expressions (MDX): Baut auf dem multidimensionalen Datenmodell (MDDM) auf (Würfel, Dimensionen, Fakten, ...)

• Erweiterungen von SQL:Anfragen über relationales Star- / Snowflake-Schema

Sprachen für OLAP Operationen

40

Page 21: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• MDX = Multidimensional Expressions: Microsoft’s Vorschlag “OLE DB for OLAP”

• Eigene Anfragesprache

• Standard ohne feste Semantik (by example)

• MDDM Konzepte als First-Class Elemente

• Dadurch kompaktere Anfragen als mit SQL

• SQL-artige Syntax (aber nicht identische Semantik)

• Sehr mächtig und komplex

• Erzeugung der Objekte (DDL) erfolgt anderweitig: DSO Interface (Decision Support Objects) von SQL Server

• Wird von vielen kommerziellen Tools zur Kommunikation mit OLAP Datenbank benutzt.

MDX

41

nach [Ulf Leser, VL Data Warehouses und Data Mining, SS 2007]

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Eine MDX Anfrage erzeugt einen mehrdimensionalen Report

• Z.B. ein 2D Spreadsheet

• Z.B. Mehrere Tabs mit 2D Spreadsheets zur Darstellung von 3 Dimensionen

• Grundstruktur ist wie bei SQL eine SELECT-FROM-WHERE Klausel

• Aber andere Semantik als bei SQL!

MDX Grundprinzip und Struktur

42

Allgemeine MDX Grundstruktur

SELECT <axis-spec1>, <axis-spec2>, ...FROM <cube-spec1>, <cube-spec2>, ...WHERE ( <selection-specification> )

Page 22: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MDX Grundprinzip und Struktur

43

Einfaches MDX Beispiel (Beispielcube & Dimensionen siehe Folie 3)

SELECT { Berlin, Stuttgart } ON ROWS

{ [1. Quartal], [2. Quartal].CHILDREN } ON COLUMNS

FROM VerkaufsWürfel

WHERE ( Measures.Verkauf,

Zeit.[2010],

Produkte.Produkte

)

Berlin

Stuttgart

1. Quartal 2010 April 2010 Mai 2010 Juni 2010

Aggregation der Kennzahl (measure) Verkauf über

vordefinierte Funktion (z.B. SUM)

Einschränkung der Zeit-Dimension (nur Zeitraum 2010)

Selektion relevanter Produkte. Hier alle, da TopD Ebene gewählt

numerische Zellenwerte

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Klammern in MDX

• {} - Menge von Elementen für die Erzeugung einer Ergebnisdimension

• [] - Repräsentation von Leer- und Sonderzeichen & nicht numerische Interpretation von Zahlen.

• () - Liefert Tupel für die WHERE-Klausel

• SELECT - Achsendimensionen

• Beschreibung des Ergebnisraum

• Jeder Dimension der Ergebnisses wird präsentationsgerecht eine Rolle zugewiesenON COLUMNS, ON ROWS, ON PAGES, ON SECTIONS, ON CHAPTERS

• Eine Dimension im Ergebnis entspricht einer (Auswahl einer) Dimension im MDDM über ein oder mehrere Hierarchieebenen.{Berlin, Stuttgart} aus Ort-Dimension und Stadt-Ebene{[1. Quartal], [2. Quartal].CHILDREN} aus Zeit-Dimension, Quartal- und Monat-Ebene

MDX Klammern und SELECT

44

Page 23: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• FROM - Würfelspezifikation

• Menge von Datenwürfeln, die zur Konstruktion des Ergebniswürfels notwendig sind.

• Falls mehr als ein Würfel referenziert wird, wird implizit ein multidimensionaler Verbund durchgeführt, wobei jeweils zwei Datenwürfel mindestens eine gemeinsame Dimension aufweisen müssen (siehe auch korrelierte Datenwürfel)

• WHERE - Restriktion

• Einschränkung der in der FROM-Klausel spezifizierten Datenwürfel

• Einschränkung durch Angabe einer Liste von Klassifikationsknoten aus so genannten Slicer-Dimensionen.

• Kennzahlen sind “normale” Elemente der speziellen Measures-Dimension (diese kann in der WHERE-Klausel, aber auch in FROM-Klausel verwendet werden)

MDX FROM und WHERE

45

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Aufzählung von Knoten der dimensionalen Hierarchie

• Einzelne Knoten müssen nicht aus der gleichen Ebene stammen

• Z.B. liefert {Belletristik, Kinder, Medien} eine Mischung aus Kategorien und Typen der Produkt-Dimension.

• Elementausdrücke zur Erzeugung von Mengen von Knoten

• CHILDREN: Kindknoten eines Klassifikationsknoten z.B. [2. Quartal].CHILDREN = {April, Mai, Juni}

• MEMBERS: Knoten einer Klassifikationsstufez.B. Zeit.Quartal.MEMBERS = {[1. Quartal], ... , [4. Quartal]}

• PARENT: Vaterknoten eines Klassifikationsknotenz.B. Belletristik.PARENT = {Bücher}

• ...

MDX Mengenausdrücke

46

Page 24: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Schachtelung von Mengen mittels CROSSJOIN

• Projektion zweier Dimensionen in eine

• Semantik: Alle möglichen Kombinationen (Kreuzprodukt)

MDX Mengenausdrücke

47

CROSSJOIN Beispiel

SELECT CROSSJOIN({Berlin, Stuttgart} {Kiosk, [Mega-Store]} ON ROWS

{ 2010.CHILDREN } ON COLUMNS

FROM VerkaufsWürfel

WHERE ( Measures.Verkauf, Zeit.[2010], Produkte.Medien )

BerlinKiosk

BerlinMega-Store

StuttgartKiosk

StuttgartMega-Store

1. Quartal 2010 2. Quartal 2010 3. Quartal 2010 4. Quartal 2010

numerische Zellenwerte (Anzahl Verkäufe von Produkten von Typ Medien im Zeitraum 2010

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Relative Auswahl zur Nutzung einer Ordnung innerhalb dimensionaler Strukturen.

• LASTCHILD - letzte Kind eines Knotensz.B. Bücher.LASTCHILD = {Fachliteratur}

• NEXTMEMBER - nächster Nachbar auf gleicher Ebenez.B. [1. Quartal 2010].NEXTMEMBER = {[2. Quartal 2010]}

• LEAD(x) - Nachbar in “positiver Entfernung” x auf gleicher Ebenez.B. [November 2010].LEAD(2) = {[Januar 2011]}

• [x]:[y] - Bereichseinschränkung zwischen x und yz.B. [1992]:[2002] beschränkt den zu betrachtenden Zeitraum auf die Jahre 1992 bis 2002.

MDX Mengenausdrücke

48

Page 25: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Methoden für dimensionale Schemata zur Nutzung einer Ordnung innerhalb dimensionaler Strukturen.

• LEVEL - Ermittlung der Schemaebenez.B. Belletristik.LEVEL = {Kategorien}, Medien.LEVEL = {Typen}

• LEVELS(x) - Nutzung der internen Nummerierung der Klassifikationsstufen zum Zugriff auf Schemaebene xz.B. LEVELS(1) = {Jahr}

MDX Mengenausdrücke

49

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Konstruktion des Ergebniswürfels in Abhängigkeit von berechneten Ergebnissen.

• Top-k Anfragen

• TOPCOUNT

• TOPRECENT

• TOPSUM

• Allgemeine Filter-Bedingungen

• FILTER

Konditionierte Ergebnisproduktion

50

Page 26: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Konditionierte Ergebnisproduktion

51

Beispiel der TOPCOUNT Funktion

Ermittlung des Umsatzes der fünf verkaufsstärksten Bundesländer in Deutschland in 2010 (Annahme: Hierachie Land-Bundesland-Stadt)

SELECT {Measures.Umsatz} ON COLUMNS {TOPCOUNT(Deutschland.CHILDREN, 5, Measures.Verkauf)} ON ROWS

FROM VerkaufsWürfel

WHERE ( Measures.Umsatz,[2010])

Beispiel der Filter Funktion

Zeige Verkaufszahlen für Bundesländer an, deren Umsatz im Jahr 2002 höher als im Jahr 2001 war. Hier bezieht sich der Umsatz auf den Umsatz pro Quartal in der Produktkategorie Medien.

SELECT FILTER(Deutschland.CHILDREN, ([2002], Umsatz) > ([2001], Umsatz) ) ON COLUMNS Quartal.MEMBERS ON ROWS

FROM VerkaufsWürfel

WHERE ( Verkauf,[2002], Produkte.Medien )

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Addressierung von Zeitpunkten und - orten

• PERIODSTODATE(k, d) Alle Knoten vom Beginn der Klasse k bis zum Datum dz.B. PERIODSTODATE(Quartal, [15. November 2002] = 1.10. - 15.11.2022

• LASTPERIODS(k, d)Letzte k Zeitabschnitte vor Datum d (k und d auf gleicher Hierarchieebene).z.B. LASTPERIODS(3, [Sept. 2002]) = {[Juni 2002], [Juli 2002], [Aug. 2002]}

• PARALLELPERIOD(k, n, d) z.B. PARALLELPERIOD(Jahre, 3, [Sept. 2002]) = {[Sept. 1999]}

Temporale Auswertung

52

Page 27: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Auswertung

• Kovarianz

• Korrelation

• gleitender Durchschnitt

• ...

Temporale Auswertung

53

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Hohe Komplexität

• Mächtige Sprache

• Direkte Anlehnung an MDDM

• Weit verbreitet

• Schnittstelle zwischen OLAP GUI und DB-Server

• Unterstützt von Microsoft, Cognos (IBM), BusinessObject (SAP), ...

MDX Fazit

54

Page 28: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Kapitel 4.1Typische Anfragen

55

OLAP Operationen

• Innerhalb eines Cubes

• Über mehrere Cubes

• Pivot

Sprachen für OLAP

• MDX

• SQL Erweiterungen

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Übersetzung eines MDDM in Star- oder Snowflake Schema

• Operationen mit Standard SQL (SQL-92)

• Auswahl (slice, dice): Joins und Selects

• Verfeinerung (drill-down): Joins uns Selects

• Aggregation um eine Stufe: Group-By

• OLAP-Erweiterungen von SQL

• Mehrfachgruppierungen ! in dieser Vorlesung

• Analytische Funktionen ! in der Übung

• Prinzipiell auch in SQL-92 möglich, aber nur kompliziert auszudrücken und ineffizient in der Bearbeitung

SQL und OLAP

56

Page 29: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Beispiel

57

Beispiel eines Star Schemas

Produkt

Belletristik

Kinder

Fachliteratur

Musik

DVD

BlueRay

Zeit

Ort

BerlinStuttgartParisLyon

...

Jan.

Feb.

März

April

Mai ...

Faktentabelle

PID Kategorie Typ

1 Belletristik Bücher

2 Kinder Bücher

3 Fachliteratur Bücher

4 Musik Medien

5 DVD Medien

6 BlueRay Medien

Produkt

ZID Monat Quartal Jahr

1 Jan10 Q1 2010 2010

2 Feb10 Q1 2010 2010

... ... ... ...

Zeit

OID Stadt

1 Berlin

2 Stuttgart

3 Paris

4 Lyon

Ort

Kennzahlen (Verkäufe & Gewinn) für Belletristik im Januar 2010 in Stuttgart.

PID ZID OID #Verkäufe Gewinn

1 1 1 5 30

1 1 2 5 37

1 1 3 5 45

1 1 4 5 20

2 1 1 2 33

2 1 2 2 35

2 1 3 2 40

2 1 4 2 35

... ... ... ... ...

1 2 1 3 22

... ... ... ... ...

Alle weiteren Kombinationen von Produktkategorien und Orten im Januar. 2010.

Beginn der Kombinationen für Februar 2010(danach auch für alle weiteren Monate)

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Erinnerung zu GROUP BY (siehe VL Datenbanken I)

• GROUP BY <att1>, <att2>, ..., <attn> partitioniert die von der Anfrage betrachteten Daten anhand der Werte in Attributen att1 bis attn.

• Wird GROUP BY verwendet, können in der SELECT-Klausel (i) die Attribute att1 bis attn vorkommen plus (ii) aggregierte Werte anderer Attribute.

• Aggregation mittels SUM, COUNT, AVG, MIN, MAX

Mehrfachgruppierungen

58

Beispiel einer GROUP-BY Anfrage - Gesamtgewinn mit Büchern nach Jahr, Quartal und Monat?

SELECT Jahr, Quartal, Monat, SUM(Gewinn)FROM Faktentabelle, Zeit, ProduktWHERE Produkt.PID = Faktentabelle.PIDAND Zeit.ZID = Faktentabelle.ZIDAND Produkt.Typ = ‘Bücher’GROUP BY Jahr, Quartal, Monat

Summe nur für Tage (unterteilt nach Monaten / Jahren)

Keine Summe pro Monat / pro Jahr

Page 30: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Mehrfachgruppierungen

59

Beispiel einer GROUP-BY Anfrage - Gesamtgewinn mit Büchern nach Jahr, Quartal und Monat

SELECT Monat AS Time, SUM(Gewinn) AS GewinnFROM Faktentabelle, Zeit, ProduktWHERE Produkt.PID = Faktentabelle.PIDAND Zeit.ZID = Faktentabelle.ZIDAND Produkt.Typ = ‘Bücher’GROUP BY MonatUNIONSELECT Quartal AS Time, SUM(Gewinn) AS GewinnFROM Faktentabelle, Zeit, ProduktWHERE Produkt.PID = Faktentabelle.PIDAND Zeit.ZID = Faktentabelle.ZIDAND Produkt.Typ = ‘Bücher’GROUP BY QuartalUNIONSELECT Jahr AS Time, SUM(Gewinn) AS GewinnFROM Faktentabelle, Zeit, ProduktWHERE Produkt.PID = Faktentabelle.PIDAND Zeit.ZID = Faktentabelle.ZIDAND Produkt.Typ = ‘Bücher’GROUP BY Jahr

Time Gewinn

Jan. 2010 150

Feb. 2010 300

... ...

Dec. 2010 400

Jan. 2011 300

... ...

Q1 2010 500

... ...

Q4 2011 800

2010 2000

2011 2300

Monate

Quartale

Jahre

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Mehrfachgruppierungen

60

Gewünschtes Ergebnis - Gesamtgewinn mit Büchern nach Jahr, Quartal und Monat

Nutzung einer Dimensionshierarchie in SQL?

Mehrfachgruppierung 2: Gewinn pro Quartal und Produkttyp und Quartal und Ort in 2010

Quartal Typ Ort Gewinn

Q1 2010 Bücher - 50

... Bücher - ...

Q4 2010 Bücher - 70

Q1 2010 Medien - 40

... Medien - ...

Q4 2010 Medien - 60

Q1 2010 - Berlin 60

... - Berlin ...

Q4 2010 - Berlin 50

Q1 2010 - Stuttgart 20

... - ... ...

Jahr Quartal Monat Gewinn

2010 Q1 Jan. 150

2010 Q1 Feb. 300

2010 Q1 März 50

... ... ... ...

2011 Q1 Jan. 300

... ... ... ...

2010 Q1 - 500

... ... ... ...

2011 Q4 - 800

2010 - - 2000

2011 - - 2300

Aggregation entlang mehrerer Dimensionskombinationen in SQL?

Page 31: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• SQL Erweiterung zur Unterstützung von Mehrfachgruppierungen

• GROUPING SETS - GruppierungsmengenExplizite Angabe einer Menge von Gruppierungskombinationen

• CUBE - Multidimensionale GruppierungGenerierung aller Gruppierungskombinationen der als Parameter übergebene Attribute

• ROLLUP - Hierarchische Multidimensionale Gruppierung

• Kombination dieser Klauseln mit bekannten SQL-Klauseln (GROUP BY, HAVING, CASE, ...)

Mehrfachgruppierungen

61

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Explizite Angabe der gewünschten Gruppierungen

• Jede Gruppierungsmenge (<seti_a1>, ... ) gibt eine gewünschte Gruppe an

• Äquivalent zu UNION einzelner GROUP BY mit “Auffüllen” der Werte nicht überlappender Attribute der einzelnen Gruppierungsmengen mit NULL.

• Abfragen der gruppierenden Spalten mittels GROUPING() Funktion:GROUPING(<attr>) = 0 wenn nach <attr> gruppiert, sonst 1.

MehrfachgruppierungenGruppierungsmengen

62

Grouping Sets

...GROUP BY GROUPING SETS ((<set1_a1>, ..., <set1_am>), (<set2_a1>, ..., <set2_an>), ...)

Page 32: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenGruppierungsmengen

63

Mehrfachgruppierung 2: Gewinn pro Quartal und Produkttyp und Quartal und Ort in 2010

Quartal Typ Ort Gewinn

Q1 2010 Bücher - 50

... Bücher - ...

Q4 2010 Bücher - 70

Q1 2010 Medien - 40

... Medien - ...

Q4 2010 Medien - 60

Q1 2010 - Berlin 60

... - Berlin ...

Q4 2010 - Berlin 50

Q1 2010 - Stuttgart 20

... - ... ...

Mehrfachgruppierung 2 in SQL unter Verwendung von Gruppierungsmengen

SELECT Quartal, Typ, Ort, SUM(Gewinn)AS GEWINNFROM Faktentabelle FT, Zeit, ProduktWHERE Produkt.PID = FT.PIDAND Zeit.ZID = FT.ZIDAND Zeit.Jahr = ‘2010’GROUP BY GROUPING SETS ( (Quartal, Typ), (Quartal, Ort) )

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenGruppierungsmengen

64

Mehrfachgruppierung 2 mit Ausgabe der entsprechenden Gruppen

Quartal Typ Ort Gewinn GQ GT GO

Q1 2010 Bücher - 50 0 0 1

... ... - ... 0 0 1

Q1 2010 - Berlin 60 0 1 0

... - Berlin ... 0 1 0

Mehrfachgruppierung 2 mit Ausgabe der entsprechenden Gruppen in SQL

SELECT Quartal, Typ, Ort, SUM(Gewinn) AS GEWINN GROUPING(Quartal) AS GQ, GROUPING(Typ) AS GT, GROUPING(Ort) AS GOFROM ...WHERE ...GROUP BY GROUPING SETS ((Quartal, Typ), (Quartal, Ort))

Page 33: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Gruppierungssemantik bei Gruppierungsmengen

• GROUP BY A, B ≣ GROUP BY GROUPING SETS ((A, B))

! Gruppe (A, B)

• GROUP BY GROUPING SETS (A, B), (A, C), (A)) ≣ GROUP BY A, GROUPING SETS ((B), (C), ( ))

! Gruppen (A) " ( (B), (C), ( )) = (A, B), (A, C), (A)

• GROUP BY GROUPING SETS ((A, B), (B, C)), GROUPING SETS ((D, E), (D), ())

! Gruppen ( (A, B), (B, C) ) " ( (D, E), (D), ( ) ) = (A, B, D, E), (A, B, D), (A, B), (B, C, D, E), (B, C, D), (B, C)

MehrfachgruppierungenGruppierungsmengen

65

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenGruppierungsmengen

66

Formulieren Sie eine SQL Anfrage, die das unten dargestellte Ergebnis berechnet

Typ Jahr Stadt #Verkäufe

Buch - - 50

Buch 2010 Berlin 30

Buch 2010 Stuttgart 20

Medien - - 40

Medien 2010 Berlin 30

Medien 2010 Stuttgart 10

- - Berlin 80

- - Stuttgart 30

Page 34: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenMultidimensionale Gruppierung

67

Multidimensionale Gruppierung mittels CUBE()

...GROUP BY CUBE (<a1>, ..., <an>)

• Bildet alle Gruppierungskombinationen der als Parameter übergebenen Attribute

• Z.B. bildet CUBE(A, B, C) Gruppen (A, B, C), (A, B), (A, C), (B, C), (A), (B), (C), ( ))

• Insgesamt 2n Gruppen

• In Kombination mit Aggregation wird CUBE() zur Berechnung der Summen sämtlicher Kombinationen genutzt.

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenMultidimensionale Gruppierung

68

Gewinn nach (jeder Kombination von)Quartal, Produkttyp und Ort in 2010

Quartal Typ Ort Gewinn

Q1 2010 Bücher Berlin 10

Q1 2010 Bücher Stuttgart 20

... ... ... ...

Q1 2010 Bücher - 20

... ... - ...

Q1 2010 - Berlin 80

Q1 2010 - Stuttgart 50

... - ... ...

- Bücher Berlin 50

- Bücher Stuttgart 80

- ... ... ...

Q1 2010 - - 160

... - - ...

- Bücher - 200

- Medien - 300

- - Berlin 200

- - Stuttgart 100

- - ... ...

- - -

Mehrfachgruppierung 2 in SQL unter Verwendung von Gruppierungsmengen

SELECT Quartal, Typ, Ort, SUM(Gewinn)AS GEWINNFROM Faktentabelle FT, Zeit, ProduktWHERE Produkt.PID = FT.PIDAND Zeit.ZID = FT.ZIDAND Zeit.Jahr = ‘2010’ GROUP BY CUBE (Quartal, Typ, Ort)

Page 35: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Gruppierungssemantik beim CUBE-Operator

• GROUP BY CUBE(A, B, C) ≣ GROUP BY GROUPING SETS ((A,B,C), (A,B), (A,C), (B,C), (A), (B), (C), ())

• GROUP BY CUBE(A, B), CUBE(B, C)! Gruppen ( (A, B), (A), (B), ( ) ) " ( (B, C), (B), (C), ( ))= ( A, B, B, C ), (A, B, B), (A, B, C), (A, B), (A, B, C), (A, B), (A, C), (A), (B, B, C), (B, B), (B, C), (B), (B, C), (B), (C), ( )= (A, B, C), (A, B), (A, B, C), (A, B), (A, B, C), (A, B), (A, C), (A), (B, C), (B), (B, C), (B), (B, C), (B), (C), ( )

• GROUP BY GROUPING SETS(CUBE(A, B), CUBE(B,C))≣ GROUP BY GROUPING SETS ((A,B), (A), (B), (), (B,C), (B), (C), ())

MehrfachgruppierungenMultidimensionale Gruppierung

69

Duplikate in Kombinationen(z.B. (A, B, C), (A, B), (B), ...)

werden nicht eliminiert!

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenMultidimensionale Gruppierung

70

Formulierung einer SQL Anfrage mit dem CUBE-Operator

Geben Sie eine SQL Anfrage an, die die Anzahl DVD-Verkäufe im ersten Quartal 2010 aggregiert nach Monat und Ort ausgibt. Das Ergebnis der Anfrage entspricht demnach den Daten, die das unten gezeigte Spreadsheet veranschaulicht.

Berlin

Stuttgart

Paris

Lyon

Summe

Jan. 10 Feb. 10 März Summe20 25 22 67

10 15 17 42

30 25 30 85

10 12 10 32

70 77 79 226

Page 36: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenHierarchische Multidimensionale Gruppierung

71

Multidimensionale Gruppierung mittels ROLLUP()

...GROUP BY ROLLUP (<a1>, ..., <an>)

• In herkömmlichem SQL kann man UNION über k Subanfragen formulieren, um hierarchische Gruppierung füe k Dimensionsstufen zu erhalten (siehe z.B. Folie 59).

• Aufwändig zu formulieren, zu berechnen (k Scans der Faktentabelle) und ungünstige Reihenfolge für Reports (und nur schwer zu sortieren).

• ROLLUP berechnet hierarchische Aggregation in günstiger Reihenfolge.

• Attribute <a1>, ..., <an> stammen aus einer Dimensionshierarchie und werden in absteigender Granularität angegeben.

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenHierarchische Multidimensionale Gruppierung

72

Gesamtgewinn mit Büchern nach Jahr, Quartal und Monat

SQL Anfrage mit ROLLUP

SELECT Jahr, Quartal, Monat, SUM(Gewinn)AS GEWINNFROM Faktentabelle FT, Zeit, ProduktWHERE Produkt.PID = FT.PIDAND Zeit.ZID = FT.ZIDAND Produkt.Typ = ‘Bücher’ GROUP BY ROLLUP (Jahr, Quartal, Monat)

Jahr Quartal Monat Gewinn

2010 Q1 Jan. 150

2010 Q1 Feb. 300

2010 Q1 März 50

... ... ... ...

2011 Q1 Jan. 300

... ... ... ...

2010 Q1 - 500

... ... ... ...

2011 Q4 - 800

2010 - - 2000

2011 - - 2300

- - - 4300

Page 37: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

• Gruppierungssemantik beim CUBE-Operator

• GROUP BY ROLLUP(A1, A2, ..., An) ≣ GROUP BY GROUPING SETS ( (A1, ..., An-1, An), (A1, ..., An-1), ..., (A1, A2), (A1), () )

wobei die funktionalen Abhängigkeiten An " An-1 " ... " A2 " A1 gelten

• GROUP BY ROLLUP(A1, ..., An), ROLLUP(B1, ..., Bm)! Gruppen ( (A1, ..., An), ..., (A1, A2), (A1), ( ) ) " ( (B1, ..., Bn), ..., (B1, B2), (B1), ( ) )

MehrfachgruppierungenHierarchische Multidimensionale Gruppierung

73

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

MehrfachgruppierungenHierarchische Multidimensionale Gruppierung

74

Formulierung einer SQL Anfrage mit hierarchischer multidimensionaler Gruppierung

Geben Sie eine SQL Anfrage an, die die Anzahl Von Verkäufen von Medien-Produkten nach Jahr,Monat, Kategorie und Stadt wie in der rechtenBeispieltabelle aufschlüsselt. Verwenden Sie dabeikeine GROUPING SETS Klausel.

Jahr Monat Kategorie Stadt Verkauf

2010 Dez. Musik - 200

2010 Dez. DVD - 150

2010 Dez. BlueRay - 50

2010 Dez. - - 400

2011 Dez. - - 450

2010 - - - 2000

2011 - - - 3000

- - - - 5000

2010 - - Berlin 1000

2010 - - Stuttgart 300

2010 - - ... ...

2011 - - Berlin 1500

2011 - - ... ...

- - - Berlin 4000

- - - Stuttgart 2000

- - - ... ...

Page 38: Preview of “04 1 Anfragetypen” - db.inf.uni-tuebingen.de · Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme,

Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen

Zusammenfassung

• OLAP-Operationen

• Navigation entlang der Dimensionshierarchie: Roll-Up, Drill-Down

• Erweiterung / Reduktion der Dimensionalität: Split / Merge

• Selektion: Slice, Dice

• Kombination von Daten mehrerer Würfel: Drill-Across

• OLAP-Sprachen

• MDX - Orientiert an MDDM und Spreadsheets

• SQL Erweiterungen: GROUPING SETS, CUBE, ROLLUP

75