Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell



Ähnliche Dokumente
Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Aufgabe 1: [Logische Modellierung]

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Zeichen bei Zahlen entschlüsseln

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

Geld Verdienen im Internet leicht gemacht

Stand: Adressnummern ändern Modulbeschreibung

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Konzepte der Informatik

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Professionelle Seminare im Bereich MS-Office

Feiertage in Marvin hinterlegen

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Erstellen von x-y-diagrammen in OpenOffice.calc

Statuten in leichter Sprache

4. BEZIEHUNGEN ZWISCHEN TABELLEN

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Datenbanken Microsoft Access 2010

Kapitel 8: Physischer Datenbankentwurf

Wie Sie mit Mastern arbeiten

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Abwesenheitsnotiz im Exchange Server 2010

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

GLIEDERUNG UND BASISGLIEDERUNG. 2010/03/09 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Informatik 12 Datenbanken SQL-Einführung

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Anleitung über den Umgang mit Schildern

Lehrer: Einschreibemethoden

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Excel Auswertungen in XAuftrag / XFibu

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

mehrmals mehrmals mehrmals alle seltener nie mindestens **) in der im Monat im Jahr 1 bis 2 alle 1 bis 2 Woche Jahre Jahre % % % % % % %

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

Simulation LIF5000. Abbildung 1

Datenbanken Kapitel 2

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Zwischenablage (Bilder, Texte,...)

Etikettendruck mit Works 7.0

Zahlen auf einen Blick

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

SMS/ MMS Multimedia Center

Fachhochschule Deggendorf Platzziffer:...

Informationsblatt Induktionsbeweis

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

Abfrage-Befehle in MySQL -diverse Funktionen -

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

EM-Wellen. david vajda 3. Februar Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

6.2 Scan-Konvertierung (Scan Conversion)

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

1 Mathematische Grundlagen

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Wir machen neue Politik für Baden-Württemberg

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Objektorientierte Programmierung

Das Vermögen der privaten Haushalte in Nordrhein-Westfalen ein Überblick auf der Basis der Einkommens- und Verbrauchsstichprobe

Erfolg beginnt im Kopf

Primzahlen und RSA-Verschlüsselung

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Konzentration auf das. Wesentliche.

Algorithmische Mathematik

2 Evaluierung von Retrievalsystemen

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Grundlagen der Theoretischen Informatik, SoSe 2008

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Lizenzierung von SharePoint Server 2013

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Eingangsseite Umwelt-online

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Transkript:

Data Warehousing, Gliederung Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Data Warehousing und Mining 1 Data Warehousing und Mining 2 Dimensionen vs. Measures (1) Dimensionen vs. Measures (1) rot Produkt Dimensionen: Produkt,, Filiale rot Produkt Dimensionen: Produkt,, Filiale Measure: Umsatz Measure: Umsatz Milch Milch 95 52 52 Tee Tee Irchel Irchel Central Central Wipkingen Wipkingen Filiale Filiale Data Warehousing und Mining 3 Data Warehousing und Mining 4

Dimensionen vs. Measures (2) Klassifizierung der Attribute einer Relation in Dimensionen und Measures: Dimensionen: Attribute, anhand derer man Tupel identifizieren und klassifizieren kann, Measures: Wert, der einem Tupel zugeordnet ist. eispiel: Filiale Produkt Umsatz Dimensionen vs. Measures (3) Irchel Ort Dimensionen: Ort, Alter Measures: Hypothek, Kontostand Es liegt nicht allein in der Natur des Attributs, ob Dimension oder Measure. eispiel: Ort Hypothek Alter Kontostand Central Wipkingen 20. 30 (150000; 3000) Alter Hypothek kann Measure, aber auch Dimension sein. Data Warehousing und Mining 5 Data Warehousing und Mining 6 Dimensionen vs. Measures (4) Dimensionen vs. Measures (4) 200.000 Hypothek Dimensionen: Ort, Hypothek, Alter 200.000 Hypothek Dimensionen: Ort, Hypothek, Alter Measure: Kontostand Measure: Kontostand 100.000 100.000 {4200, 57} 50.000 50.000 20 30 20 30 Durlach Karlsruhe Ettlingen Ort Alter Was ist, wenn mehrere Personen am gleichen Ort gleichen Alters Hypotheken mit exakt der gleichen Höhe haben? Durlach Karlsruhe Ettlingen Ort Alter Alternativen: Mehrere (Kontostand-)Werte an dieser Position (Menge von Werten), aggregierter Wert. Data Warehousing und Mining 7 Data Warehousing und Mining 8

Dimensionen vs. Measures (5) Weiteres eispiel: Man kann Umsatz als Funktion von Gewinn oder Gewinn als Funktion von Umsatz darstellen, d. h. Umsatz ist entweder Measure oder Dimension. D. h. mehrere Darstellungsmöglichkeiten für eine Relation, Definition der Relation unterscheidet sich also von der Spezifikation der multidimensionalen Tabelle, Trennung zwischen strukturellen und inhaltlichen Aspekten. Filiale Umsatz Gewinn Data Warehousing und Mining 9 Ein möglicher Ansatz zur eschreibung einer Tabelle, anhand eines eispiels Relation R(Part, City, Year, Month, Cost, Sale), Schema der Tabelle: Sales=<{Category, Time}, {Part, City, Year, Month, Cost, Sale}, par> mit par(category)={part, City} und par(time)={year, Month} Im Gegensatz zur Verwendung des egriffs Dimension vorher werden jetzt mehrere Attribute zu einer Dimension (mit neuem Namen) zusammengefaßt. par identifiziert die estandteile der Dimensionen. SALES TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Data Warehousing und Mining 10 Ein möglicher Ansatz zur eschreibung einer Tabelle, anhand eines eispiels Relation R(Part, City, Year, Month, Cost, Sale), Dimensionen Attribute Schema der Tabelle: Sales=<{Category, Time}, {Part, City, Year, Month, Cost, Sale}, par> mit par(category)={part, City} und par(time)={year, Month} Im Gegensatz zur Verwendung des egriffs Dimension vorher werden jetzt mehrere Attribute zu einer Dimension (mit neuem Namen) zusammengefaßt. par identifiziert die estandteile der Dimensionen. Neuerung: Mehrere SALES Attribute bilden Dimension. TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Data Warehousing und Mining 11 Kleine Unzulänglichkeit des Ansatzes (1) Achtung: Hier wurde zufällig die richtige Darstellung gewählt, daß nämlich Jahr aus Monaten besteht und nicht umgekehrt, unsere Schema-Notation reflektiert das aber nicht. Wir lassen diese Feinheit jetzt außen vor. SALES TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Data Warehousing und Mining 12

Kleine Unzulänglichkeit des Ansatzes (2) Darstellung der Alternative: SALES TIME Month Jan Feb Year 1996 1997 1996 1997 CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) eispiel 2: Gleiche Relation, andere Tabelle Schema der Tabelle: Sales=<{Location, Component}, {Part, City, Year, Month, Cost, Sale}, par> mit par(location)={city} und par(component)={part} Dimensionen, Attribute, par identifiziert die estandteile der Dimensionen. SALES COMPONENT Part PC Inkjet LOCA- TION City (Year,Month, Cost,Sale) Montreal (1996, Jan, 5, 6) (1996, Jan, 5, 6) Montreal (1996, Jan, 5, 7) (1996, Jan, 5, 7) Montreal (1997, Jan, 4, 6) (1997, Jan, 4, 6) Montreal (1997, Feb, 4, 8) (1997, Feb, 4, 8) Toronto (1997, Jan, 5,7) / Toronto (1996, Feb, 5, 8) / Data Warehousing und Mining 13 Data Warehousing und Mining 14 eispiel 2: Gleiche Relation, andere Tabelle Schema der Tabelle: Sales=<{Location, Component}, {Part, City, Year, Month, Cost, Sale}, par> mit par(location)={city} und par(component)={part} Dimensionen, Attribute, par identifiziert die estandteile der Dimensionen. SALES COMPONENT Part PC Inkjet LOCA- TION City (Year,Month, Cost,Sale) Montreal (1996, Jan, 5, 6) (1996, Jan, 5, 6) Montreal (1996, Jan, 5, 7) (1996, Jan, 5, 7) Montreal (1997, Jan, 4, 6) (1997, Jan, 4, 6) Montreal (1997, Feb, 4, 8) (1997, Feb, 4, 8) Toronto (1997, Jan, 5,7) / Toronto (1996, Feb, 5, 8) / Numerische vs. kategorische Dimensionen Klassifizierung von Dimensionen: Numerische Dimensionen eispiele: Zeit, Einkommen, Alter Kategorische Dimensionen eispiele: Ort, Produkt. Auch kategorische Attributwerte lassen sich auf Zahlen abbilden. Kriterium für Differenzierung ist, ob Intervalle entlang der Dimension sinnvoll sind. Data Warehousing und Mining 15 Data Warehousing und Mining 16

Dimensionen vs. Measures, weitere Gedanken eobachtung aus den vorangegangenen eispielen: Kategorische Dimensionen sind oft keine sinnvollen Measures. Warum ist Differenzierung zwischen Dimensionen und Measures wichtig? Operationen auf Data Cubes differenzieren zwischen Dimensionen und Measures. ei den meisten OLAP-Werkzeugen muß man fest einstellen, was Dimensionen und was Measures sind. Typische Anzahl von Dimensionen Versicherung: 10-15 Industrie: 8 Controlling: 11-13 ting: 5-7 z Data Warehousing und Mining 17 Data Warehousing und Mining 18 Data Warehousing, Gliederung Star Schema vs. Snowflake Schema Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Motivation: Im Zusammenhang mit Data Warehousing ist es vorteilhaft, Schemata anhand ihrer Topologie zu klassifizieren, und für regelmäßige Schematypen übersichtlichere und effiziente Werkzeuge und Methoden zu entwickeln. Wichtige Schematypen in diesem Zusammenhang: Star Schema - gängiger Schematyp, der multidimensionalen Datenbanken zugrundeliegt. Paßt zur multidimensionalen Sichtweise mit Dimensionen und Measures. Unterscheidung zwischen Fact Tables und Dimension Tables: Fact Tables: enthalten Dimensionen und Measures, Dimension Tables: beschreiben die Dimensionen. Snowflake Schema - Verfeinerung des Star Schemas, Attribute der Dimension Tables werden durch weitere Relationen beschrieben. Data Warehousing und Mining 19 Data Warehousing und Mining 20

Star Schema vs. Snowflake Schema - eispiel Star Schema vs. Snowflake Schema - eispiel Filiale F-ID Ort Adresse Anzahl MA Verkäufe T-ID F-ID P-ID V-ID Umsatz Produkt P-ID Name Lieferant Anwendung Preis Verkäufer V-ID... Filiale F-ID Ort Adresse Anzahl MA Dimension ohne entsprechende Fact Table. Verkäufe T-ID F-ID P-ID V-ID Umsatz Produkt P-ID Name Lieferant Anwendung Preis Verkäufer V-ID... Data Warehousing und Mining 21 Data Warehousing und Mining 22 Data Warehousing, Gliederung Operatoren für Relationen Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 - Selektion, - Projektion, - Join. 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 Data Warehousing und Mining 23 Data Warehousing und Mining 24

GROUP Y Der Standard-SQL GROUP Y Operator unterteilt eine Tabelle in Gruppen. Auf jede Gruppe wird dann die Aggregatsfunktion angewendet. Das Resultat ist eine Menge von Werten. Group-by Operator hat als Parameter Gruppierungsattribute, Aggregationsfunktion. Grouping Values Partitioned Table Aggregate Values Sum() Group-by Operator (2) undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 Measure Dimensions avg max sum sum undesland Anzahl MW 106 210 196 Anzahl MW 35.33 52.5 49 Anzahl MW 41 95 62 undesland Anzahl 131 ayern 240 141 Data Warehousing und Mining 25 Data Warehousing und Mining 26 Group-by Operator (3) Cross-Table undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 Darstellung einer zweidimensionalen Aggregation erfolgt am einfachsten in einer Cross-Table (Pivottabelle): MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52, undesland sum undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 T-Shirt Verkäufe T-Shirt 1996 1997 total (ALL) rot 500 450 950 blau 300 400 700 total (ALL) 800 850 1650 09.01. 1994 ayern 27 10.01. 1994 ayern 62 Data Warehousing und Mining 27 Data Warehousing und Mining 28

Data Cube - Repräsentation aggregierter Werte Data Cube - Repräsentation aggregierter Werte (2) MW undesland Anzahl 131 ayern 240 141 MW undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 ayern undesland Groupy-Operator berechnet Punkte in einer Hyperebene. ayern undesland Wofür steht Zahl im Ursprung? Data Warehousing und Mining 29 Data Warehousing und Mining 30 Cube Operator Cube Operator Cube-Operator estandteil von SQL, wie der Group-by Operator. Cube-Operator ist n-dimensionale Verallgemeinerung des Group-by Operators. erechnet n Hyperebenen anstatt nur einer. (Der Group-by Operator aggregiert nur in einer Dimension.) Data Warehousing und Mining 31 undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 MW 07.01. 1994 ALL 69 MW 08.01. 1994 ALL 37 07.01. 1994 ALL 48 08.01. 1994 ALL 67 07.01. 1994 ALL 55 08.01. 1994 ALL 52 09.01. 1994 ALL 27 10.01. 1994 ALL 62 MW ALL 28 MW ALL ayern 37 MW ALL 41 ALL 48 MW ALL ALL 106 ALL ALL 210 ALL ALL 196 ALL ALL ayern 240 ALL ALL 131 ALL ALL ALL 512 Data Cube (Group-y Operator berechnet nur einzelne Zeilen dieser Relation.) Data Warehousing und Mining 32

CUE - Operator Data Cube als n-dimensionale Generalisierung von GROUP Y und Aggregaten: 0D: Punkt 1D: Linie mit Punkt 2D: Pivottabelle (Fläche mit zwei Linien und einem Punkt) 3D: Würfel mit drei sich schneidenden 2D-Cubes Relationale Darstellung der Cross-Table 'ALL' wird verwendet, um Mehrfach-Aggregationen auszudrücken. Verkauf: Zusammenfassung Modell Jahr Farbe Stücke T-Shirt 1996 rot 500 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 blau 400 T-Shirt ALL rot 950 T-Shirt ALL blau 700 T-Shirt 1996 ALL 800 T-Shirt 1997 ALL 850 T-Shirt ALL ALL 1650 SELECT Modell, 'ALL', 'ALL', SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell UNION SELECT Modell, Jahr, 'ALL', SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell, Jahr UNION SELECT Modell, 'ALL', Farbe, SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell, Farbe UNION SELECT Modell, Jahr, Farbe, SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell, Jahr, Farbe; Ziel dieser Folie: Illustration, daß Standard-SQL als Werkzeug für mehrdimensionale Aggregation ungeeignet ist. Data Warehousing und Mining 33 Data Warehousing und Mining 34 Range Queries Range Queries Was sind Range Queries? Aggregation über Elemente eines Hypercube, den Intervalle entlang numerischer Dimensionen definieren. Für kategorische Dimensionen betrachtet man entweder einzelne Werte oder den ganzen Wertebereich. egriff Range Queries wird anders verwendet als im ereich Ähnlichkeitssuche. Dort ermitteln Range Queries alle Punkte, die in einem gegebenen Hypercube oder einer Hypersphere liegen. MW ayern undesland Data Warehousing und Mining 35 Data Warehousing und Mining 36

Range Queries Range Queries MW MW ayern ayern undesland undesland Data Warehousing und Mining 37 Data Warehousing und Mining 38 Range Queries Group-y (Folie aus vorigem Kapitel) MW ayern undesland eispiel Alte Sichtdefinition: CREATE VIEW V(Proj#, Location, Proj_Sal) AS SELECT Proj#, Location, SUM((Salary Hours)/40) FROM E & W & P GROUPY Proj#, Location Neue Sichtdefinition: CREATE VIEW V (Location, Proj_Sal) AS SELECT Location, SUM((Salary Hours)/40) FROM E & W & P GROUPY Location Welche Sicht enthält mehr Tupel? Was kann man machen? - erechnung von V aus V: SELECT Location, SUM(Proj-Sal) FROM V GROUPY Location Data Warehousing und Mining 39 Data Warehousing und Mining 40

erechnung des Data Cubes erechnung des Data Cubes M M M MW MW D D ayern ayern Data Warehousing und Mining 41 Data Warehousing und Mining 42 erechnung des Data Cubes erechnung des Data Cubes M M DM M D M D DM MW MW D M none D D ayern ayern Welche erechnung ist sinnvoller? Cuboid Data Warehousing und Mining 43 Data Warehousing und Mining 44

egriffe Reduktionsfaktor = Kardinalität (Input-Relation) Kardinalität (Output Relation) Parent A ist Parent von, wenn aus A berchnet werden kann, und A genau ein Attribut mehr hat als. A Modell Jahr Farbe Stück all all all all all all 500 150 400 250 100 200 GROUP Y Model Modell Jahr Farbe Stück all all 1050 all all 750 Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Input-Relation Output Relation Data Warehousing und Mining 45 Data Warehousing und Mining 46 Cubey Consolidation Paths Ein Operator, der bereits vorgestellt wurde, Praktisch aus Endbenutzer-Sicht nicht von so großer edeutung, im folgenden werden aber Operatoren vorgestellt, mit denen der Endbenutzer arbeiten kann. undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 M DM D D none DM M Data Warehousing und Mining 47 Data Warehousing und Mining 48

Consolidation Paths Consolidation Paths DM DM M D DM M D DM D M D M none none undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 undesland Anzahl 131 ayern 240 141 Data Warehousing und Mining 49 Data Warehousing und Mining 50 Consolidation Paths (2) Consolidation Paths (2) undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 M DM D D none DM M undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 M DM D D none DM M undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 undesland Anzahl 131 ayern 240 141 Roll-up (Drill-up) Drill-down Data Warehousing und Mining 51 Data Warehousing und Mining 52

Consolidation Paths (3) Consolidation Konsolidierung ist nicht nur möglich, indem man Dimensionen ausblendet, sondern auch durch das Zusammenfassen von Werten. Tag MW Woche Monat Jahr ayern keine Konzepthierarchie undesland Data Warehousing und Mining 53 Data Warehousing und Mining 54 Consolidation Consolidation Paths (4) DM - undesland - - T DM W Mo J M D D DM M MW none DM none ayern MW MMo DM D undesland M W MW MJ MMo Mo D... Anzahl Ebenen? Data Warehousing und Mining 55 Data Warehousing und Mining 56

Consolidation Paths (5) Star Schema vs. Snowflake Schema - eispiel Vorangegangene Folie verdeutlicht zweierlei: - Kombinierbarkeit, - sehr viele Kombinationsmöglichkeiten. Filiale F-ID Ort Adresse Anzahl MA Verkäufe T-ID F-ID P-ID V-ID Umsatz Produkt P-ID Name Lieferant Anwendung Preis Verkäufer V-ID... Data Warehousing und Mining 57 Data Warehousing und Mining 58 Symmetrische vs. Asymmetrische Aggregation Slice & Dice (Modell, Jahr, Farbe) (Modell, Jahr, ALL) (ALL, Jahr, Farbe) (Modell, ALL, Farbe) (Modell, ALL, ALL) (ALL, Jahr, ALL) (ALL, ALL, Farbe) (ALL, ALL, ALL) Motivation: Man kann nur 2D-Tabelle auf dem ildschirm sinnvoll darstellen, unterschiedliche Sichten sinnvoll, je nach Kontext, Anwender soll frei sein im Zugreifen auf Ausschnitte des Cubes. MW Symmetrische Aggregation: erechne Resultate aller Knoten (CUE) Asymmetrische (lineare) Aggregation: erechne nur die Resultate der Knoten entlang eines Pfades (ROLLUP) Dice - Drehen am Würfel, Slice - Aufschneiden des Würfels Operationen für Slice und Dice werden später definiert. ayern undesland Data Warehousing und Mining 59 Data Warehousing und Mining 60

Cross-Dimensional Operations Demo Verknüpfungen von Werten aus unterschiedlichen Dimensionen eispiel für single-dimensional erechnung: Anzahl der Angestellten = elegschaft - Anzahl Arbeiter Allen Werten entspricht die gleiche Position im DataCube. eispiel für cross-dimensional erechnung: ereinigter projizierter Gewinn = Projizierter Gewinn, verrechnet mit Währungsrisiko des jeweiligen Landes. ildungsgrad Studium Abitur Hauptschule ayern Ort Data Warehousing und Mining 61 Data Warehousing und Mining 62 Data Warehousing und Mining 63 Data Warehousing und Mining 64

Data Warehousing und Mining 65 Data Warehousing und Mining 66 Data Warehousing und Mining 67 Data Warehousing und Mining 68

Data Warehousing und Mining 69 Data Warehousing und Mining 70 Data Warehousing und Mining 71 Data Warehousing und Mining 72

Algebra für multidimensionale Strukturen Ziel: Algebra, deren Operatoren den DataCube-Operationen entsprechen, präzise Definition der Algebra-Operatoren, Algebra sollte möglichst einfach sein. Ansatz, der im folgenden verfolgt wird: Verwendung des Spezifikationsmechanismus für Tabellen einerseits und des relationalen Modells andererseits. Erster Schritt: eschreibung der Abbildung eines Datenbestands von einer Sicht in die andere, zweiter Schritt (relativ einfach, gegeben der erste Schritt): Definition der Operatoren mit Hilfe des relationalen Modells. z Data Warehousing und Mining 73 Data Warehousing und Mining 74 Vervollständigung der Tupel eobachtung Ziel: Einfügen von Nullwerten in die Relation r für die multidimensionale Darstellung. Ist Voraussetzung für das problemlose Wechseln zwischen den Modellen. eispiel: SALES TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Für eine gegebene Tabelle mit Schema S=<D,R,par> gibt es eine entsprechende Relation mit Schema R. rep(τ) steht für diese Relation. Von einer Relation kommt man unter Angabe des Table Schemas S zu genau einer Tabelle. tab S (r) identifiziert diese Tabelle. Angenommen, Tupel mit City=Quebec, aber kein Tupel (PC, Quebec, 1996, April, ). Dann ist (PC, Quebec, 1996, April, /) Teil der Vervollständigung. Data Warehousing und Mining 75 Data Warehousing und Mining 76

Algebra-Operatoren Selektion, Projektion, Umbenennung op(τ) := tab S (op(rep(τ))) Mengenoperation, kartesisches Produkt - analog, unfold, fold: gegeben ein Table Schema, macht unfold aus einem oder mehreren Measures eine Dimension; fold ist in der anderen Richtung. Definition von unfold: unfold Xd (τ) (d ist neuer Name, X ist Menge von Measure-Attributen) Table-Schema wird neu definiert: S =<D {d},r,par > mit par (d)=x par (d i )=par(d i ) für alle d i D Neuer Table ist tab S (rep(τ)). Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Data Warehousing und Mining 77 Data Warehousing und Mining 78 eispiel eines 3D-Data-Cubes MS-SQL-Server Verkauf Modell Jahr Farbe Stücke T-Shirt 1995 rot 300 T-Shirt 1995 weiß 75 T-Shirt 1995 blau 250 T-Shirt 1996 rot 500 T-Shirt 1996 weiß 100 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 weiß 500 T-Shirt 1997 blau 400 Hosen 1995 rot 100 Hosen 1995 weiß 220 Hosen 1995 blau 300 Hosen 1996 rot 50 Hosen 1996 weiß 100 Hosen 1996 blau 420 Hosen 1997 rot 70 Hosen 1997 weiß 60 Hosen 1997 blau 300 CUE SELECT Modell, Jahr, Farbe, SUM(Stücke) AS Total FROM Verkauf WHERE Modell IN { T-Shirt, Hosen } AND Jahr ETWEEN 1995 AND 1997 GROUP Y Modell, Jahr, Farbe WITH CUE; DATA CUE Modell Jahr Farbe Total ALL ALL ALL 4495 T-Shirt ALL ALL 2875 Hosen ALL ALL 1620 ALL 1995 ALL 1245 ALL 1996 ALL 1470 ALL 1997 ALL 1780 ALL ALL rot 1470 ALL ALL weiß 1055 ALL ALL blau 1970 T-Shirt 1995 ALL 625 T-Shirt 1996 ALL 900 T-Shirt 1997 ALL 1350 Hosen 1995 ALL 620 Hosen 1996 ALL 570 Hosen 1997 ALL 430 T-Shirt ALL rot 1250 T-Shirt ALL weiß 675 T-Shirt ALL blau 950 Hosen ALL rot 220 Hosen ALL weiß 380 Hosen ALL blau 1020 ALL 1995 rot 400 ALL 1995 weiß 295 ALL 1995 blau 550 ALL 1996 rot 550 ALL 1996 weiß 200 ALL 1996 blau 720 ALL 1997 rot 520 ALL 1997 weiß 560 ALL 1997 blau 700 Abweichung zur bisherigen Definition des CUE-Operators: NULL Wert anstelle des ALL Wertes Neue Funktion GROUPING(): TRUE, falls Element ein ALL Wert FALSE sonst Überall, wo vorher im Resultat der ALL-Wert erschien, kommt jetzt NULL, und das dazugehörige grouping Feld enthält TRUE. Data Warehousing und Mining 79 Data Warehousing und Mining 80

MS-SQL-Server (eispiel) Select Modell, Jahr, Farbe, SUM(Stücke), GROUPING(Modell),GROUPING(Jahr),GROUPING(Farbe) FROM Verkauf WHERE Modell = 'T-Shirt' AND Jahr ETWEEN 1996 AND 1997 GROUP Y Modell, Jahr, Farbe WITH CUE; "original" Modell Jahr Farbe Stücke T-Shirt 1996 rot 500 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 blau 400 T-Shirt ALL rot 950 T-Shirt ALL blau 700 T-Shirt 1996 ALL 800 T-Shirt 1997 ALL 850 T-Shirt ALL ALL 1650 Version des MS-SQL-Servers Modell Jahr Farbe Stücke Grouping (Modell) Grouping (Jahr) Grouping (Farbe) T-Shirt 1996 rot 500 FALSE FALSE FALSE T-Shirt 1996 blau 300 FALSE FALSE FALSE T-Shirt 1997 rot 450 FALSE FALSE FALSE T-Shirt 1997 blau 400 FALSE FALSE FALSE T-Shirt NULL rot 950 FALSE TRUE FALSE T-Shirt NULL blau 700 FALSE TRUE FALSE T-Shirt 1996 NULL 800 FALSE FALSE TRUE T-Shirt 1997 NULL 850 FALSE FALSE TRUE T-Shirt NULL NULL 1650 FALSE TRUE TRUE ROLLUP (eispiel) SELECT Modell, Jahr, Farbe, SUM(Stücke) AS Total, FROM Verkauf WHERE Jahr ETWEEN 1996 AND 1997 GROU Y Modell, Jahr, Farbe WITH ROLLUP Reihenfolge der Attribute ist relevant. (Modell, Jahr, Farbe) (Modell, Jahr, ALL) (ALL, Jahr, Farbe) (Modell, ALL, Farbe) (Modell, ALL, ALL) (ALL, Jahr, ALL) (ALL, ALL, Farbe) (ALL, ALL, ALL) Modell Jahr Farbe Total T-Shirt 1996 rot 500 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 blau 400 Hosen 1996 rot 50 Hosen 1996 blau 420 Hosen 1997 rot 70 Hosen 1997 blau 300 T-Shirt 1996 ALL 800 T-Shirt 1997 ALL 850 Hosen 1996 ALL 470 Hosen 1997 ALL 370 T-Shirt ALL ALL 1650 Hosen ALL ALL 840 ALL ALL ALL 2490 Data Warehousing und Mining 81 Data Warehousing und Mining 82 Wünschenswert: Zugriff auf Elemente des CUEs Zusätzliche Angabe des Anteils der verkauften Stücke an den insgesamt verkauften Stücken: SELECT v.modell, v.jahr, v.farbe, SUM(Stücke) AS Total, SUM(Stücke) / Total(ALL, ALL, ALL) AS Verhältnis FROM Verkauf v WHERE Modell = 'T-Shirt' AND Jahr ETWEEN 1996 AND 1997 GROU Y Modell, Jahr, Farbe WITH CUE v.m o d e ll v.j a h r v.f a rb e T o ta l V e rh ä ltn is T -S h irt 1 9 9 6 ro t 5 0 0 0.3 0 3 T -S h irt 1 9 9 6 b la u 3 0 0 0.1 8 2 T -S h irt 1 9 9 7 ro t 4 5 0 0.2 7 3 T -S h irt 1 9 9 7 b la u 4 0 0 0.2 4 2 Tabelle nicht vollständig, ALL -Zeilen fehlen Funktioniert nicht. Workaround mit Views. Σ=1 Data Warehousing warum reichen herkömmliche Datenbank-Konzepte und -Technologie nicht aus? Im Prinzip reichen sie schon, aber: Höheres Abstraktionsniveau der Operatoren, vergleichbar mit Übergang Netzwerkmodell relationales Modell/SQL; neue, mächtige Operatoren, insbesondere: Cubey, Drill-Down, Roll-Up. Zwei Aspekte: Implementierung dieser neuen Operatoren mit SQL-Operatoren ist i. Allg. zu umständlich, eispiel: Cubey-Operator als Ergebnis von vielen UNIONs von Groupys Mächtige Primitive machen große Anwendungen erst möglich, Übersichtlichkeit. Query Processing mit herkömmlichen Optimierungstechniken ist hinsichtlich der Laufzeit nicht akzeptabel. Data Warehousing und Mining 83 Data Warehousing und Mining 84

Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP ROLAP vs. MOLAP ROLAP ( Relational OLAP ) Aggregate, z.. Resultat des CUE-Operators, werden in relationaler Datenbank gespeichert, MOLAP ( Multidimensional OLAP ) spezielle Speicherstruktur für Inhalte multidimensionaler Datenbank, Schlechte Ausnutzung des Speichers bei sparse Data Sets; Abhilfe: Matrix-Komprimierungstechniken. Komprimierung: Liste von (Offset, Wert)-Paaren. Oft zweistufiges Verfahren: Dichte Subcubes werden identifiziert und ohne Komprimierung gespeichert, Sparse Subcubes Komprimierung. Für die schnelle Evaluierung von Range-Queries existieren spezielle Speicherstrukturen. Data Warehousing und Mining 85 Data Warehousing und Mining 86 Literatur Data Cube: A Relational Aggregation Operator Generalizing Group-y, Cross-Tab, and Sub-Total. Jim Gray, Adam osworth, Andrew Layman, Hamid Pirahesh Proc. of International Conference on Data Engineering, 1996 A Foundation for Multi-Dimensional Databases Marc Gyssens, Laks V.S. Lakshmanan Proc. of the 23 rd Int l Conference on Very Large Databases, 1997 Mögliche Prüfungsfragen In der Vorlesung wurde eine Definition von Tabellenschema vorgestellt. Wie könnte Tabellenschema noch definiert sein? Gegeben sei Relation X, mit Tabellenschema Y. Wieviele Zeilen hat die Tabelle? Warum ist es stoßend, Measures in OLAP-Werkzeugen wie eine normale Dimension zu behandeln? Welche Operationen im multidimensionalen Modell kennen Sie? Was leistet der fold-operator? Wie ist er definiert? Das relationale Datenmodell hat sich in der Praxis zweifelsohne bewährt. Warum braucht man noch das multidimensionale Modell? Erklären Sie die egriffe ROLAP, MOLAP. Data Warehousing und Mining 87 Data Warehousing und Mining 88