Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Data Warehousing (I): SQL/ETL Praktikum: Data Warehousing und Data Mining Praktikum Data Warehousing und Mining, Sommersemester 2010 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm W i Weitere T Termine i Praktikum Data Warehousing und Mining, Sommersemester 2010 2 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A Agenda d • Einführung Data Warehouses • Referenzarchitektur • Datenbeschaffung • Online Transactional Processing (OLTP) • Datenmanipulation D t i l ti mit it SQL • Anfragen mit SQL • Nächste Aufgabe f • Analyse von Graphen • Projekt LogoTakt • SQL, ETL, Visualisierung Praktikum Data Warehousing und Mining, Sommersemester 2010 3 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Ei Eigenschaften h f eines i D Data W Warehouse h • Integrierte Sicht auf beliebige Daten • …aus verschiedenen Datenbanken • …Integration von Schemata und Daten aus Quellen • Analyseaspekt • …multidimensionales Datenmodell • …Online Online Analytical Processing (OLAP) • Stabile Datenbasis • Eingebrachte Ei b ht D Daten t werden d nicht i ht mehr h modifiziert difi i t • Neue Daten können aufgenommen werden • Data-Warehouse-System • Komponenten zur Integration und Analyse + Data Warehouse Praktikum Data Warehousing und Mining, Sommersemester 2010 4 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm R f Referenzarchitektur hi k Praktikum Data Warehousing und Mining, Sommersemester 2010 5 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm D Data-Warehouse-Prozess W h P • Monitoring • Entdecken und Melden von Änderungen Ä in den Quellen (triggerbasiert, replikationsbasiert, zeitstempelbasiert, logbasiert, snapshotbasiert) • Extraktion • Selektion und Transport von Daten aus den Quellen in den Arbeitsbereich (periodisch, auf Anfrage, ereignisgesteuert, sofort) • Transformation • Vereinheitlichung, Bereinigung, Integration, Konsolidierung, Aggregierung gg g g und Ergänzung g g 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 Praktikum Data Warehousing und Mining, Sommersemester 2010 6 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Vereinfachte Sicht auf die Referenzarchitektur Extraktion Transformation L d Laden Analyse Data Warehouse Operative Datenbanken OLAP Server Praktikum Data Warehousing und Mining, Sommersemester 2010 7 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm F k jetzt Fokus j iim P Praktikum k ik Unser Fokus jetzt Extraktion Transformation L d Laden Analyse Data Warehouse Operative Datenbanken OLAP Server Praktikum Data Warehousing und Mining, Sommersemester 2010 8 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A Agenda d • Einführung Data Warehouses • Referenzarchitektur • Datenbeschaffung • Online Transactional Processing (OLTP) • Datenmanipulation D t i l ti mit it SQL • Anfragen mit SQL • Nächste Aufgabe f • Analyse von Graphen • Projekt LogoTakt • SQL, ETL, Visualisierung Praktikum Data Warehousing und Mining, Sommersemester 2010 9 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm OLTP vs. vs OLAP (Datenbank vs. Data Warehouse) • Anfragecharakteristika transaktional analytisch Fokus Lesen, Schreiben, Modifizieren, Löschen Lesen, periodisches Hinzufügen Transaktionsdauer und -typ Kurze Lese- / Schreibtransaktionen Lange g Lesetransaktionen Anfragestruktur Einfach strukturiert komplex Datenvolumen D t l einer i Anfrage W i Datensätze Wenige D t ät Vi l D Viele Datensätze t ät nach Bauer Bauer, Günzel (Hrsg): Data Warehouse Systeme – Architektur, Entwicklung, Anwendung Praktikum Data Warehousing und Mining, Sommersemester 2010 10 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm R l i Relationenmodell d ll – Kurze K Wi Wiederholung d h l Relationenname Attribut Stadt Name CID Population … Paris FR 2153000 … Tokyo JA 8022000 … Hamburg GM 1706000 … Stockholm SW 704000 … Seoul KS 10776000 … Berlin GM 3472000 … … … … … Praktikum Data Warehousing und Mining, Sommersemester 2010 Relationenschema Relation Tupel Attributwert 11 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm I Integritätsbedingungen i ä b di • Primärschlüssel • 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 Praktikum Data Warehousing und Mining, Sommersemester 2010 12 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SQL • Eigenschaften • die Sprache für relationale Datenbanken • mengenorientiert & deklarativ • Konstrukte zur Datendefinition (SQL-DDL) • CREATE, CREATE ALTER ALTER, DROP • Konstrukte zur Datenmanipulation (SQL-DML) • INSERT, UPDATE, DELETE • Konstrukt für Datenabfragen • SELECT Praktikum Data Warehousing und Mining, Sommersemester 2010 13 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Datentypen • Zeichenketten • CHARACTER(n), CHAR(n) • VARCHAR(n) • Zahlen • INTEGER, INTEGER INT • NUMERIC(p, s) • FLOAT • Datum und Uhrzeit • DATE Praktikum Data Warehousing und Mining, Sommersemester 2010 14 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A Agenda d • Einführung Data Warehouses • Referenzarchitektur • Datenbeschaffung • Online Transactional Processing (OLTP) • Datenmanipulation D t i l ti mit it SQL • Anfragen mit SQL • Nächste Aufgabe f • Analyse von Graphen • Projekt LogoTakt • SQL, ETL, Visualisierung Praktikum Data Warehousing und Mining, Sommersemester 2010 15 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SQL – Create C • Anlegen g von Relationen • Syntax CREATE TABLE <Relation> ( <Attribut><Datentyp>, … PRIMARY KEY (<Attribut>[, …]) FOREIGN KEY <Attribut> ib REFERENCES <Relation>(<Attribut>) [ …] [, ] ) Praktikum Data Warehousing und Mining, Sommersemester 2010 16 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SQL – Insert I und d Update U d • Einfügen von Tupeln in Relation • Syntax INSERT INTO <R <Relation> l ti > VALUES (<Datum1>, <Datum2>, …) • Ändern von Tupeln • Syntax UPDATE <Relation> SET <Att <Attribut> ib t> = <D <Datum> t > WHERE <Selektionsbedingung> Praktikum Data Warehousing und Mining, Sommersemester 2010 17 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SQL – Delete D l und dD Drop • Löschen von Tupeln aus einer Relation • Syntax DELETE FROM <R <Relation> l ti > WHERE <Attribut> = <Datum> • Löschen von Relationen • Syntax DROP TABLE <R <Relation> l ti > Praktikum Data Warehousing und Mining, Sommersemester 2010 18 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A Agenda d • Einführung Data Warehouses • Referenzarchitektur • Datenbeschaffung • Online Transactional Processing (OLTP) • Datenmanipulation D t i l ti mit it SQL • Anfragen mit SQL • Nächste Aufgabe f • Analyse von Graphen • Projekt LogoTakt • SQL, ETL, Visualisierung Praktikum Data Warehousing und Mining, Sommersemester 2010 19 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A f Anfragen - Grundgerüst G d ü • Anfragen an den Datenbestand • S Syntax t SELECT <Attribut>, … FROM <Relation> WHERE <Selektionsbedingung> Praktikum Data Warehousing und Mining, Sommersemester 2010 20 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm P j ki Projektion • Auswahl von Spalten p einer Relation • Syntax SELECT <Attribut> <Attribut>, … FROM <Relation> Name CID Population Paris FR 2153000 Tokyo JA 8022000 Hamburg GM 1706000 St kh l Stockholm SW 704000 Seoul KS 10776000 Berlin GM 3472000 Praktikum Data Warehousing und Mining, Sommersemester 2010 21 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm S l ki Selektion • Auswahl von Tupeln p einer Relation • Syntax SELECT * FROM <Relation> WHERE <Selektionsbedingung> Name CID Population Paris FR 2153000 Tokyo JA 8022000 Hamburg GM 1706000 St kh l Stockholm SW 704000 Seoul KS 10776000 Berlin GM 3472000 Praktikum Data Warehousing und Mining, Sommersemester 2010 22 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm V b d Verbund • Kombination mehrerer Relationen • Syntax SELECT <Attribut>, … FROM <Relation1>, <Relation2> WHERE <Relation1>.<Attribut> = <Relation2>.<Attribut> Praktikum Data Warehousing und Mining, Sommersemester 2010 23 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A Aggregatfunktionen f ki • Berechnung g von Aggregaten gg g auf Relationen • Syntax SELECT <Aggregat>(<Attribut>) AS <Name> FROM <Relation> • Wichtige Aggregatfunktionen: • • • • • COUNT SUM MIN MAX AVG Praktikum Data Warehousing und Mining, Sommersemester 2010 24 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G Gruppierung i • G Gruppierung upp e u g von o g gleichen e c e Attributwerten tt but e te • Syntax SELECT <Attribut> FROM <Relation> GROUP BY <Attribut> HAVING <Gruppenbedingung> Praktikum Data Warehousing und Mining, Sommersemester 2010 25 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm M Mengenoperationen i • Mengenoperationen auf Anfrageergebnissen (SELECT <Attribut>, … FROM <R <Relation>) l ti >) INTERSECT | UNION | MINUS (SELECT <Attribut>, … FROM <Relation>) Praktikum Data Warehousing und Mining, Sommersemester 2010 26 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm SELECT S t SELECT-Syntax • Sy Syntaxdiagramm ta d ag a des SQL-SELECTBefehls ( (vereinfacht…): f ) Praktikum Data Warehousing und Mining, Sommersemester 2010 27 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm V Vorgehen h b beii d der D Definition fi i i von A Anfragen f FROM Ausgangsrelationen WHERE Selektion von Tupeln, die der Bedingung genügen GROUP BY Gruppierung von Tupeln gemäß gleicher Attributwerte HAVING Selektion von Gruppen, die der Bedingung genügen SELECT Projektion der gewählten Attribute Praktikum Data Warehousing und Mining, Sommersemester 2010 28 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm A Agenda d • Einführung Data Warehouses • Referenzarchitektur • Datenbeschaffung • Online Transactional Processing (OLTP) • Datenmanipulation D t i l ti mit it SQL • Anfragen mit SQL • Nächste Aufgabe f • Analyse von Graphen • Projekt LogoTakt • SQL, ETL, Visualisierung Praktikum Data Warehousing und Mining, Sommersemester 2010 29 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Graphen www.touchgraph.com http://www.fzd.de/db/Pic?pOid=26054 www.kvv.de Praktikum Data Warehousing und Mining, Sommersemester 2010 30 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Graphen: Ausgewählte A ähl F Forschungsfragen h f • Frequent Subgraph Mining • Auffinden unbekannter, häufiger Teilgraphen mit Support >= s • Graphanfragesprachen • Spezifikation und Auffinden von Mustern mit bestimmten strukturellen Eigenschaften • Gemeinsames zugrundeliegendes Problem: Subgraphisomorphie (NP-vollständig) Praktikum Data Warehousing und Mining, Sommersemester 2010 31 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm P j k L Projekt LogoTakt T k • Ziel: e Entwicklung t c u g von o Technologien ec o og e u und d Prozessen o esse für robuste getaktete Logistiknetzwerke • Vom BMWi gefördert g Schweitzer Spedition • Analyse der Robustheit abgelaufener Transportprozesse unter Einsatz von: • Graph Mining • Graphanfragesprachen Praktikum Data Warehousing und Mining, Sommersemester 2010 32 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm K Kernmerkmale k l L LogoTakt T k T1 14:30 15:30 T1 16:30 14:30 ... 15:30 16:30 ... T2 T3 14:45 ... 15:45 ... T2 16:45 ... 14:45 ... ... 15:45 T1 16:45 T2 14:30 ... 14:45 15:30 15:45 16:30 16:45 ... ... T3 ... ... ... ... T3 ... ... ... ... Abgestimmte Fahrpläne Taktung der Verkehre in VorVor Haupt Haupt- und Nachlauf Hohe Robustheit durch vorkalkulierte Zeit- und Mengenpuffer I t Intermodalität d lität zur Verbesserung V b d der Ök Ökobilanz bil Praktikum Data Warehousing und Mining, Sommersemester 2010 33 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm N Netzwerkstruktur k k TSP Railport Praktikum Data Warehousing und Mining, Sommersemester 2010 34 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm T Transformationsprozess f i • ETL-Aufgabe ETL Aufgabe Praktikum Data Warehousing und Mining, Sommersemester 2010 35 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G Generische i h G Graphdarstellung hd ll • Ziel: • Drei Relationen: Graph, Node, Edge. • Jeweils numerische ID für jedes Tupel • Zusätzlich: alle „interessanten“ Attribute • Jeweils ein Knoten pro Adresse (PLZ, Straße identisch) Praktikum Data Warehousing und Mining, Sommersemester 2010 36 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Mi i A l Graph-Mining-Analysen iin L LogoTakt T k • • Ziel: • Regelmäßiges Finden von interessanten Zusammenhängen in den Historien einer vergangenen Periode in einem manuellen Prozess. Prozess • Eingabe für die Optimierung des Gesamtnetzwerks. Demo: • Betrachtung der LKW-Fahrten des vergangenen Monats. • Jeder Tag bildet einen Graphen, jede Stadt einen Knoten, jede Fahrt eine Kante. Kante Alternativ kann die Sicht auf eine Region/Spedition beschränkt werden. • Kanten werden rot eingefärbt, gdw. IST > SOLL. Praktikum Data Warehousing und Mining, Sommersemester 2010 37 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm B i i l G h 2010-04-06_Dienstag Beispiel-Graph, 2010 04 06 Di Stau Folgeprobleme Praktikum Data Warehousing und Mining, Sommersemester 2010 38 LogoTakt – Technologien und Prozesse für robuste und getaktete Logistiknetzwerke Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Mi i E b i I Graph-Mining-Ergebnis • Graph p Mining g mit allen 30 Graphen p des April p 2010 ((finde alle Teilgraphen, die in mindestens 10% aller Graphen enthalten sind) liefert folgendes: viele weitere… In welchen Graphen ist dieses g p enthalten? Teilgraph-Muster Praktikum Data Warehousing und Mining, Sommersemester 2010 39 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Mi i E b i II Graph-Mining-Ergebnis • In welchen ec e G Graphen ap e ist st dieses d eses Teilgraph-Muster e g ap uste enthalten? • 2010-04-06_Dienstag _ g • 2010-04-13_Dienstag g • 2010-04-20_Dienstag • 2010-04-27_Dienstag → Probleme treten immer am Dienstag g auf! → „Dienstags-Stau“ auf Relation Winnenden -> Schorndorf hat Auswirkungen auf das Gesamtnetz. Praktikum Data Warehousing und Mining, Sommersemester 2010 40 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h f Graphanfragen • Uns ist ein weiteres Problem bekannt: Ein Kunde aus Gottmadingen wird oft spät beliefert, Verzögerungen im Umkreis von Schorndorf (PLZ 736…). • Das Dienstags-Problem ist nicht schuld: • An diesen Tagen keine Fahrten zwischen diesen Orten. • Weitere Analyse dieser Problematik: Betrachte alle Fahrten aus PLZBereich 736… mit Zwischenstopps nach Gottmadingen mittels S²QL. • Anfrage: select g.name, a.name as ort from graph g, node a, node b where a.plz like '736%' and b.name = 'Gottmadingen' structured 'a/+/b/'; Praktikum Data Warehousing und Mining, Sommersemester 2010 41 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm E b i Ergebnisse di dieser D Demo • Uns ist ein weiteres Problem bekannt: Ein Kunde aus Gottmadingen wird oft spät beliefert, Verzögerungen im Umkreis von Schorndorf (PLZ 736…). • Weiteres Problem offensichtlich donnerstags! • Mit Graph Mining und Graphanfragen wurden diverse Probleme rund um Kornwestheim identifiziert identifiziert. • Fragestellungen für nächste Iteration der Netzwerkoptimierung: • Sollte für Fahrten in diesem Gebiet mehr Zeit eingeplant werden? • Kann Gebietszuschnitt optimiert werden? • Ist ein zusätzlicher Railport in BW hilfreich? Praktikum Data Warehousing und Mining, Sommersemester 2010 42 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Nä h Nächstes A Aufgabenblatt f b bl • Kennenlernen des Datenbestands mit SQLSQL Anfragen • Durchführung eines (wiederholbaren) ETL ETLProzesses: Überführung der Transportdaten in generisches Graphformat • Visualisierung des Datenbestands mittels dot Praktikum Data Warehousing und Mining, Sommersemester 2010 43 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Z erzeugende Zu d Graphen G h • Jede Zweiergruppe bearbeitet eine mögliche Kombination der folgenden drei Parameter: • Zeit: ein Graph pro Tag/pro Woche/pro Wochentag • Graph muss zusammenhängend sein: ja/nein • Mehrfachkanten zusammengefasst: ja/nein • Visualisierung je nach Schwierigkeitsgrad der erzeugten Graphen • Bewertung der Lösung u.a. u a je nach Umfang und „Sinn“ der zugeteilten Graph-/Knoten/Kanten Attribute /Kanten-Attribute Praktikum Data Warehousing und Mining, Sommersemester 2010 44 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Vi Graph-Visualisierung li i • Graphen als Menge von Knoten und Kanten sind ein Konstrukt der diskreten Mathematik. • Graph-Visualisierung Graph Visualisierung • …ist oft sehr hilfreich! • …verfolgt f l t (ä (ästhetische) th ti h ) Ziele, Zi l z.B. B • Minimierung von Kreuzungen, Fläche • Maximierung des kleinsten Winkels • Vereinheitlichung von Kantenlängen http://www.graphviz.org/Gallery.php • …kann sehr aufwändig g werden ((NP-vollständig). g) • …ist ein eigenes Forschungsgebiet. • …kann von verschiedenen Tools erledigt werden. Praktikum Data Warehousing und Mining, Sommersemester 2010 45 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm G h Vi Graph-Visualisierung li i miti Graphviz G h i digraph G main -> main -> main -> execute execute init -> main -> execute } { parse -> execute; init; Hierarchische, baumartige Visualisierung mit dot cleanup; -> make_string; -> printf make_string; printf; Optimierungsbasierte Visualisierung mit neato -> compare; (spring-model) g.dot Textuelle Graph-Darstellung als Kantenliste in DOT www graphviz org www.graphviz.org Praktikum Data Warehousing und Mining, Sommersemester 2010 … 46 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm W i Weiteres DOT DOT-Beispiel B i i l digraph G { 0 [label="Karlsruhe"]; 1 [label="Frankfurt"]; 2 [label="Hannover"]; 0 -> 1 [color="red"]; 1 -> 2; } example.dot dot -Gcharset=latin1 -O -Tgif g example.dot p Textuelle Graph-Darstellung als gelabelte/ attributierte Knoten- und Kantenliste • Für „schöne“ Ergebnisse empfiehlt sich der Export als SVG (-Tsvg); anschließende Konvertierung z.B. mit Inkscape (www.inkscape.org). • Viele weitere Optionen und Beispiele in den Handbüchern zu dot bzw. neato. Praktikum Data Warehousing und Mining, Sommersemester 2010 47 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm DOT E DOT-Erzeugung miti SQL SELECT 'digraph g {' UNION ALL SELECT DISTINCT n_id || ' [label="' || name || '"]' FROM node WHERE g_id = <g_id> UNION ALL SELECT DISTINCT n1_id || ' -> ' || n2_id FROM edge WHERE g_id = <g_id> UNION ALL SELECT '}' • Beachte: • || in Projektionen verkettet Attribute als String • Manche DBMS verlangen die Angabe der FROM-Klausel, z.B. SELECT 'digraph g {' FROM dual Praktikum Data Warehousing und Mining, Sommersemester 2010 48 Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Q ll Quellenangaben b 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 Graphviz-Doku: http://www.graphviz.org/Documentation.php Software (Graphviz, Inkscape) als Portable-Version unter /home/eichi/software im IPD-UNIX-Netz Praktikum Data Warehousing und Mining, Sommersemester 2010 49