Data Warehousing (I): SQL/ETL

Werbung
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
Herunterladen