Themenblock: Data Warehousing (I)

Ähnliche Dokumente
Agenda. Themenblock: Data Warehousing (I) Referenzarchitektur. Eigenschaften eines Data Warehouse. Einführung Data Warehouse Data Access mit SQL

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Themenblock: Erstellung eines Cube

Multidimensionales Datenmodell, Cognos

SQL/ETL. Praktikum: Data Warehousing und. Praktikum Data Warehousing und Mining, Sommersemester 2010

Das Multidimensionale Datenmodell

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

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

IV. Datenbankmanagement

Vorlesung Datenbankmanagementsysteme

SQL structured query language

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

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

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

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

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Referenzielle Integrität SQL

Modellierung von OLAP- und Data- Warehouse-Systemen

Datenbanken. Prof. Dr. Bernhard Schiefer.

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

SQL: statische Integrität

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

5.3 Datenänderung/-zugriff mit SQL (DML)

Fortgeschrittene OLAP Analysemodelle

7. Übung - Datenbanken

Wiederholung VU Datenmodellierung

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Kapitel 3: Datenbanksysteme

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Data Warehouse Technologien

3. Das Relationale Datenmodell

OLAP und Data Warehouses

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Schlüssel bei temporalen Daten im relationalen Modell

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Wiederholung VU Datenmodellierung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Multidimensionale Modellierung

SQL und MySQL. Kristian Köhntopp

Bibliografische Informationen digitalisiert durch

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

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

Pivotieren. Themenblock: Anfragen auf dem Cube. Roll-up und Drill-down. Slicing und Dicing. Praktikum: Data Warehousing und Data Mining. Produkt.

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

6. Datenintegrität. Integritätsbedingungen

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

105.3 SQL-Datenverwaltung

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Sructred Query Language

Datenbanken: Datenintegrität.

Labor 3 - Datenbank mit MySQL

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Datenbanken. Sommersemester 2010 Probeklausur

SQL (Structured Query Language) Schemata Datentypen

C09: Einsatz SAP BW im Vergleich zur Best-of-Breed-Produktauswahl

Business Intelligence und Geovisualisierung in der Gesundheitswirtschaft

Data Warehousing und Data Mining

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

SQL. Fortgeschrittene Konzepte Auszug

Data Warehouse Definition (1)

Fachbereich Informatik Praktikum 1

Datenbankmodelle 1. Das Entity-Relationship-Modell

Data Warehouse ??? Ein Data Warehouse ist keine von der Stange zu kaufende Standardsoftware, sondern immer eine unternehmensindividuelle

9. Einführung in Datenbanken

Informatik 12 Datenbanken SQL-Einführung

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

PSE: Analysesoftware für Logistiknetzwerke

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Seminar C02 - Praxisvergleich OLAP Tools

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Seminar C16 - Datenmodellierung für SAP BW

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Die Anweisung create table

Allgemeines zu Datenbanken

7. Analyse-Phase: Datenmodellierung Software Engineering

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Klausur Interoperabilität

Business Intelligence Praktikum 1

Relationale Datenbanken in der Praxis

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken

Software-Engineering Einführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

eevolution Business Intelligence Oliver Rzeniecki COMPRA GmbH Programmierer & Datenbankadministrator

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Einteilung von Datenbanken

Referentielle Integrität

Business Intelligence Praktikum 1

Erstellen einer Datenbank. Datenbankabfragen

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Transkript:

Themenblock: Data Warehousing (I) Praktikum: Data Warehousing und Data Mining

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 2

Eigenschaften eines Data Warehouse Integrierte Sicht auf beliebige Daten aus verschieden Datenbanken Integration von Schemata und Daten aus Quellen Analyseaspekt multidimensionales Datenmodell Online Analytical Processing (OLAP) Stabile Datenbasis Eingebrachte Daten werden nicht mehr modifiziert Neue Daten können aufgenommen werden Data Warehouse System Komponenten zur Integration und Analyse + Data Warehouse 3

Referenzarchitektur 4

Data Warehouse Prozess Monitoring Entdecken und melden von Änderungen in den Quellen Extraktion Selektion und Transport von Daten aus den Quellen in den Arbeitsbereich Transformation Vereinheitlichung, Bereinigung, Integration, Konsolidierung, Aggregierung und Ergänzung der Daten im Arbeitsbereich Laden Laden der Daten aus dem Arbeitsbereich in die Basisdatenbank bzw. ins Data Warehouse Analyse Analyse und Präsentation der Daten im Data Warehouse 5

Vereinfachte Sicht auf die Referenzarchitektur Extraktion Transformation Laden Data Warehouse Analyse Operative Datenbanken OLAP Server 6

Fokus im Praktikum Unser Fokus Extraktion Transformation Laden Data Warehouse Analyse Operative Datenbanken OLAP Server 7

Fokus im Praktikum - Analysephase Unterschiedliche Ansätze: Online Transactional Processing (OLTP) Themenkomplex I, Heute Zugriff auf vorhandenen Datenbestand Nutzung von Datenmanipulationssprachen (z.b. SQL) Wieviele Einheiten von Artikel X wurden in Filiale Y im Jahr Z verkauft? Online Analytical Processing (OLAP) Themenkomplex II Anpassung des Datenbestands an die Analyse Suche nach neuen oder unerwarteten Beziehungen zwischen Variablen In welcher Stadt macht Produktgruppe X den größten Umsatz? Data Mining bisher Suche nach Mustern im Datenbestand Wie ist die Entwicklung des Absatzes der Produktgruppen im Jahresverlauf? 8

Tools: Data Access Anfragesprachen (z.b. SQL) Lesen von Daten Arithmetische Operationen auf Daten Keine Präsentationsmöglichkeit Reporting Tools (z.b. Cognos) Lesen der Daten jetzt Themenkomplex II Anreicherung der Daten durch arithmetische Operationen Präsentation der Daten in Berichten Unterstützung von Ampelfunktionalität 9

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 10

Relationenmodell Kurze Wiederholung Relationenname Attribut Stadt Name CID Population Paris FR 2153000 Tokyo JA 8022000 Hamburg GM 1706000 Stockholm SW 704000 Seoul KS 10776000 Berlin GM 3472000 Relationenschema Relation Tupel Attributwert 11

Primärschlüssel Integritätsbedingungen Menge von Attributen zur eindeutigen Identifikation eines Tupels Nötig um eindeutig auf Tupel zugreifen zu können Fremdschlüssel Referenziert von einem Tupel auf ein Tupel einer anderen Relation Nötig zur Speicherung von Abhängigkeiten 12

Eigenschaften SQL die Sprache für relationale Datenbanken mengenorientiert & deklarativ Konstrukte zur Datendefinition (SQL-DDL) CREATE, ALTER, DROP Konstrukte zur Datenmanipulation (SQL-DML) INSERT, UPDATE, DELETE Konstrukt für Datenabfragen SELECT 13

Datentypen Zeichenketten CHARACTER(n), CHAR(n) VARCHAR(n) Zahlen INTEGER, INT NUMERIC(p, s) FLOAT Datum und Uhrzeit DATE 14

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 15

Anlegen von Relationen Create Syntax CREATE TABLE <Relation> ( <Attribut><Datentyp>, PRIMARY KEY (<Attribut>[, ]) FOREIGN KEY <Attribut> REFERENCES <Relation>(<Attribut>) [, ] ) 16

SQL Insert und Update Einfügen von Tupeln in Relation Syntax INSERT INTO <Relation> VALUES (<Datum1>, <Datum2>, ) Ändern von Tupeln Syntax UPDATE <Relation> SET <Attribut> = <Datum> WHERE <Selektionsbedingung> 17

SQL Delete und Drop Löschen von Tupeln aus einer Relation Syntax DELETE FROM <Relation> WHERE <Attribut> = <Datum> Löschen von Relationen Syntax DROP TABLE <Relation> 18

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 19

Anfragen - Grundgerüst Anfragen an den Datenbestand Syntax SELECT <Attribut>, FROM <Relation> WHERE <Selektionsbedingung> 20

Projektion Auswahl von Spalten einer Relation Syntax SELECT <Attribut>, FROM <Relation> Name CID Population Paris FR 2153000 Tokyo JA 8022000 Hamburg GM 1706000 Stockholm SW 704000 Seoul KS 10776000 Berlin GM 3472000 21

Selektion Auswahl von Tupeln einer Relation Syntax SELECT * FROM <Relation> WHERE <Selektionsbedingung> Name CID Population Paris FR 2153000 Tokyo JA 8022000 Hamburg GM 1706000 Stockholm SW 704000 Seoul KS 10776000 Berlin GM 3472000 22

Verbund Kombination mehrerer Relationen Syntax SELECT <Attribut>, FROM <Relation1>, <Relation2> WHERE <Relation1>.<Attribut> = <Relation2>.<Attribut> 23

Aggregatfunktionen Berechnung von Aggregaten auf Relationen Syntax SELECT <Aggregat>(<Attribut>) AS <Name> FROM <Relation> Wichtige Aggregatfunktionen: COUNT SUM MIN MAX AVG 24

Gruppierung Gruppierung von gleichen Attributwerten Syntax SELECT <Attribut> FROM <Relation> GROUP BY <Attribut> HAVING <Gruppenbedingung> 25

Mengenoperationen Mengenoperationen auf Anfrageergebnissen (SELECT <Attribut>, FROM <Relation>) INTERSECT UNION MINUS (SELECT <Attribut>, FROM <Relation>) 26

Syntaxdiagramm des SQL-SELECT- Befehls (vereinfacht ): SELECT-Syntax Entnommen aus [Stock und Pinger, 1997] 27

Vorgehen bei der Definition von Anfragen FROM Ausgangsrelationen WHERE GROUP BY HAVING SELECT Selektion von Tupeln, die der Bedingung genügen Gruppierung von Tupeln gemäß gleicher Attributwerte Selektion von Gruppen, die der Bedingung genügen Projektion der gewählten Attribute 28

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 29

Anforderungen an Online Analytical Processing Geschwindigkeit Anfragen sollten in 5 Sekunden beantwortet sein Analysemöglichkeit Ermöglichung anwenderfreundlicher und intuitiver Analyse Sicherheit Sicherer Mehrbenutzerbetrieb Stabile Sicherungsmechanismen Multidimensionalität Multidimensionale Sicht auf die Daten Kapazität Hohe Skalierbarkeit der verwalteten Daten 30

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 31

Multidimensionales Datenmodell - Begriffe Hilfsmittel zur Veranschaulichung von Daten verschiedene Aspekte auf gleiche Weise zugreifbar Einsatz bei OLAP Anwendungen Kennzahlen Elemente eines Würfels Dimensionen Beschreiben Daten Ermöglichen Zugriff auf Kennzahlen Können Hierarchien sein Dimension Kennzahl 32

Multidimensionales Datenmodell Beispiel Jahr Quartal Monat Tag Produkt. Zeit Umsatz Geographie 33

Dimensionen Einordnung Bewertung der Analysedaten durch Kenngrößen (z.b. Umsatz, Kosten) Untersuchung der Kenngrößen aus verschiedenen Perspektiven (z.b. Stadt, Bundesland, Zeitachse) Betrachtungsperspektive heißt Dimension Eigenschaften Mindestens 2 Dimensionselemente Dimensionselemente Bilden Blätter eines Baums (sog. Klassifikationshierarchie) 34

Dimensionen Beispiel Zeit Jahr Quartal Monat Tag. Klassifikationshierarchie Dimensionselement 35

Arten von Klassifikationshierarchien Einfache Hierarchien Höhere Hierarchieebenen enthalten die aggregierten Werte der jeweils niedrigeren Ebenen Oberster Knoten: Gesamtknoten Verdichtung aller Werte einer Dimension Parallele Hierarchien Entstehen bei unterschiedlicher Art der Gruppierung Parallele Äste ohne Beziehung Betrachtung eines Teilaspekts der Hierarchie pro Ast 36

Klassifikationshierarchie Beispiele TOP TOP Land Jahr Region Quartal Woche Stadt Monat Strasse Tag Einfache Hierarchie Parallele Hierarchie 37

Würfel Weitere Begriffe Kanten von Dimensionen aufgespannt Katenlänge entspricht Anzahl der Elemente in Dimension Eine oder mehrere Kennzahlen pro Würfelzelle Anzahl der Dimensionen heißt Dimensionalität Konsolidierungspfad Pfade im Klassifikationsschema 38

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 39

Konzeptionelle Modellierung Einsatz Entity Relationship Modells oder UML Probleme: Modellierung der Konsolidierungspfade nicht möglich Entitäten besitzen keine Semantik Hier aber: Höherer Automatisierungsgrad durch Verzicht auf universelle Anwendbarkeit Unterscheidung zwischen Klassifikationsstufen, beschreibenden Attributen und Kennzahlen nicht möglich Daher eigene Modellierungsmodelle Multidimensionales Entity/Relationship Modell (ME/R) Multidimensionale Unified Modeling Language (muml) Ansatz von Totok Hier: ME/R 40

ME/R-Modell Weiterentwicklung des E/R-Modells Anforderungen Spezialisierung: Alle eingeführten Elemente sind Spezialfälle von E/R Konstrukten Minimale Erweiterung: Leicht erlernbar für erfahrene E/R-Modellierer Darstellung der multidimensionalen Semantik: Klassifikationsschema, Würfelstruktur muss abbildbar sein Eingeführte Konstrukte Entitätenmenge Dimension Level (Klassifikationsstufe) n-äre Faktenbeziehung Binäre Klassifikationsbeziehungsmenge 41

Visualisierung der ME/R - Konstrukte Fakt Klassifikationsstufe Klassifikationsbeziehung Kenngröße Quartal Monat Tag Einkauf Kosten Region Stadt Strasse 42

Agenda Einführung Data Warehouses Online Transactional Processing (OLTP) Datenmanipulation mit SQL Anfragen mit SQL Online Analytical Processing (OLAP) Multidimensionales Datenmodell Konzeptionelle Modellierung Relationale Umsetzung des multidim. Modells 43

Relationale Umsetzung des multidim. Modells Anforderungen Beibehaltung der Semantik z.b. Hierarchien Effiziente Umsetzung von Anfragen Effiziente Verarbeitung von Anfragen Einfache Wartung z.b. beim Nachladen von Daten 44

Relationale Umsetzung: Faktentabelle Umsetzung des Datenwürfels ohne Hierarchien Kennzahlen, Dimensionen Spalten Zellen Tupel Jahr Quartal Monat Tag. Produkt Produkt Zeit Geographie Umsatz BMW 3er 01.02.2005 Karlsruhe 6.000 BMW 7er 04.06.2005 Mannheim 3.254 BMW 1er 03.07.2005 Mannheim 726 Zeit Umsatz Geographie 45

Relationale Umsetzung: Star Schema gängiger Schematyp für Data Warehouses Beschreibung der Dimensionen durch: Dimension Tables Je eine Relation pro Dimension Nicht in dritter Normalform Hierarchien führen zu Redundanz Vorteil Performanz 46

Relationale Umsetzung: Star Schema - Beispiel Produkt Zeit Geographie Umsatz Jahr Quartal Monat Tag. Zeit Produkt Umsatz BMW 3er 01.02.2005 Karlsruhe 6.000 BMW 7er 04.06.2005 Mannheim 3.254 BMW 1er 03.07.2005 Mannheim 726 Tag Monat Quartal Jahr 01.01.2005 Januar Q1 2005 02.01.2005 Januar Q1 2005 03.01.2005 Januar Q1 2005 Geographie 47

Relational Umsetzung: Snowflake Schema Verfeinerung des Star Schemas Mehrere Dimension Tables pro Dimension Relation pro Ebene einer Hierarchie Normalisiert Höherer Join-Aufwand bei Anfragen Keine Redundanz 48

Relational Umsetzung: Snowflake - Beispiel Jahr Quartal Monat Tag. Produkt Produkt Zeit Geographie Umsatz BMW 3er 01.02.2005 Karlsruhe 6.000 BMW 7er 04.06.2005 Mannheim 3.254 BMW 1er 03.07.2005 Mannheim 726 Tag Bezeichnung Monat_ID 01.01.2005 Neujahr 1 02.01.2005 Namenstag Adelhard 1 03.01.2005 Namenstag Adula 1 Zeit Geographie Umsatz Monat_ID Bezeichnung Quartal_ID 1 Januar Q1 2 Februar Q1 3 März Q1 49

Relationale Umsetzung: Semantikverluste Verluste in Faktentabelle Unterscheidung von Dimensionen und Kenngrößen nicht ersichtlich Dimensionstabelle Unterscheidung zwischen beschreibendem Attribut und Attribut der Klassifikationsebene nicht möglich Aufbau der Dimensionen geht verloren Lösung: Erweiterung des Systemkatalogs in relationalen Datenbankmanagementsystemen Aber: Für jedes DBMS anderes Vorgehen 50

Quellenangaben A. Bauer, H. Günzel: Data Warehouse Systeme Architektur, Entwicklung, Anwendung, dpunkt.verlag, 2004. K. Sattler, S. Conrad: Folien zur Vorlesung Data Warehouse Technologien, 2003 C. von der Weth: Folien zum Datenbankpraktikum, 2005 M. Stock und R. Pinger: Kleiner Leitfaden zur Anwendung von SQL-Anweisungen, 1997, http://www.ifis.cs.tu-bs.de/ html_d/skripte/handbuch.2.ps 51