Data Warehousing und Data Mining
|
|
- Hinrich Voss
- vor 6 Jahren
- Abrufe
Transkript
1 Data Warehousing und Data Mining Materialisierte Sichten I Optimierung mit MV Ulf Leser Wissensmanagement in der Bioinformatik
2 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 2
3 Beispiel time day_id day month_id month year_id year sales product_id day_id shop_id amount price product product_id product_name pg_id pg_name localization shop_id shop_name region_id region_name Ulf Leser: Data Warehousing und Data Mining 3
4 Materialisierte Sichten Beobachtung Viele Anfragen sind Variationen derselben Anfrage Alle Verkäufe nach Produkt, Monat und Region Alle Verkäufe in Region X nach Produkt, Monat und Shop Alle Verkäufe in Region Y nach Produkt, Monat und Shop Viele Anfragen haben gemeinsame Teilanfragen Joins, Aggregate, Materialisierte Views (MV) Berechnen und Speichern eines Anfrageergebnisses Transparente Verwendung in späteren Anfragen Ulf Leser: Data Warehousing und Data Mining 4
5 Arbeiten mit einem Cube... SELECT L.shop_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.shop_id, P.product_id, t.day_id Roll-Up SELECT L.region_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.region_id, P.product_id, T.day_id SELECT L.shop_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id AND P.pg_id = 159 AND T.year = 1999 GROUP BY L.shop_id, P.product_id, T.day_id Slice Ulf Leser: Data Warehousing und Data Mining 5
6 Deutlicher SELECT L.shop_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.shop_id, P.product_id, t.day_id SELECT L.region_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.region_id, P.product_id, T.day_id SELECT L.shop_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id AND P.pg_id = 159 AND T.year = 1999 GROUP BY L.shop_id, P.product_id, T.day_id Ulf Leser: Data Warehousing und Data Mining 6
7 MV und Slicing CREATE MATERIALIZED VIEW all_groups AS SELECT L.shop_id, P.product_id, T.day_id, max(t.year), max(p.pg_id), max(region_id), sum(amount*price) as total FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.shop_id, P.product_id, T.day_id SELECT L.shop_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id AND P.pg_id = 159 AND T.year = 1999 GROUP BY L.shop_id, P.product_id, T.day_id SELECT shop_id, product_id, day_id, total FROM all_groups A WHERE pg_id = 159 AND year = 1999 Ulf Leser: Data Warehousing und Data Mining 7
8 MV und Roll-Up CREATE MATERIALIZED VIEW all_groups AS SELECT L.shop_id, P.product_id, T.day_id, max(t.year), max(p.pg_id), max(region_id), sum(amount*price) as total FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.shop_id, P.product_id, S.time_id SELECT L.region_id, P.product_id, T.day_id, sum(amount*price) FROM sales S, time T, product P, localization L WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id GROUP BY L.region_id, P.product_id, S.time_id SELECT region_id, product_id, day_id, sum(total) FROM all_groups A GROUP BY region_id, P.product_id, S.time_id Ulf Leser: Data Warehousing und Data Mining 8
9 Themen View selection: Welche Views soll man materialisieren? MVs kosten: Platz und Aktualisierungsaufwand Wahl der optimalen MVs hängt von Workload ab View maintenance: Wie hält man MV aktuell? MV aktualisieren, wenn sich Basistabellen ändern U.U. schwierig: Aggregate, Joins, Outer-Joins,... Query optimization: Welche MV wann verwenden? Wann kann man welche MV verwenden? Query Containment, Ableitbarkeit, Anfrageplanung Wann soll man welchen MV verwenden? Kostenbasierte Optimierung Ulf Leser: Data Warehousing und Data Mining 9
10 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Einschub: Datalog Notation Query Containment Depth-First Algorithmus Ableitbarkeit und Query Rewriting Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 10
11 Kürzere Schreibweise Wir betrachten erst Mal nur konjunktive Anfragen Equi-joins und Bedingungen mit =,<,> zwischen Attribut und Wert Kein NOT, EXISTS, GROUP BY,, X>Y,... Schreibweise: Datalog q(x,y) :- sales(x,a,b,c),time(a,y,d),d>1999; SELECT Klausel Regelkopf, exportierte Variable FROM Klausel Relationen werden zu Literalen in Prädikatenschreibweise Attribute werden über Position statt Name adressiert WHERE Klausel Joins: gleiche Variablen an mehreren Stellen Bedingungen mit >,< werden explizit angegeben Bedingungen Attribut = Wert durch Konstante in Literal angeben Ulf Leser: Data Warehousing und Data Mining 11
12 SQL Datalog SELECT S.price, L.region_name FROM sales S, time T, localization L, product P WHERE S.day_id = T.day_id AND S.product_id = P.product_id AND S.shop_id = L.shop_id AND L.shop_name = KB AND T.year > 1999 SELECT FROM WHERE Joins q(p,rn) :- sales(sid,pid,tid,lid,p,...), time(tid,d,m,y), localization(lid, KB,RN), product(pid,pn,pgn), Y > 1999 Ulf Leser: Data Warehousing und Data Mining 12
13 Begriffe Ulf Leser: Data Warehousing und Data Mining 13
14 Beispiel sales, time,.. sind Prädikate Relationen des Schemas q(p,rn) :- sales(sid,pid,tid,lid,p,_,_), time(tid,d,m,y), localization(lid, KB,RN), product(pid,pn,pgn), Y > 1999 sales(sid,pid, ), time(tid,d,m,y) sind Literale Eine Anfrage kann ein Prädikat mehrmals enthalten - mehrere Literale desselben Prädikats Literale sind eindeutig in einer Anfrage, Prädikate nicht Variablen, die nicht interessieren, kürzt man mit _ ab q ist sicher, wenn jede exportierte Variable im Rumpf vorkommt Ulf Leser: Data Warehousing und Data Mining 14
15 Kein echtes Datalog Datalog kennt noch mehr Disjunktion, Vereinigung, Theta-Joins, Rekursive Anfragen Extensional predicates: Prädikate, deren Extension in der Datenbank vorliegen Intensional predicates: Prädikate, die zur Laufzeit berechnet werden SQL: Views Verwendet ein intensionales Prädikat sich selber im Rumpf, wird dadurch eine rekursive Anfrage definiert SQL 1992: Verboten Heutiges SQL: Views mit Namen Ulf Leser: Data Warehousing und Data Mining 15
16 Was müssen wir tun? Wir betrachten nur den einfachen Fall eine Query q und einen MV v Verwendung mehrerer MV für eine Query siehe später Variante: Beantwortung der Anfrage nur mit MV Answering queries using views Siehe: Modul Informationsintegration Zentrales Problem: Kann man v verwenden, um q zu beantworten? Dazu müssen wir eine Aussage über die Ergebnismengen von v und q machen Die dürfen wir nur aus den Definitionen von v und q ableiten Query Containment Ulf Leser: Data Warehousing und Data Mining 16
17 Query Containment Gegeben q und v Anfrageäquivalenz Ist Ergebnis von v immer identisch dem Ergebnis von q? Kurz: Ist v äquivalent zu q, v q Anfragecontainment ( enthalten in ) Ist das Ergebnis von v immer im Ergebnis von q enthalten? Kurz: Ist q in v enthalten, q v Offensichtlich gilt: q v, v q q v Ulf Leser: Data Warehousing und Data Mining 17
18 Definition Definition Sei S ein Schema und q,v Anfragen gegen S Eine Instanz von S ist eine beliebige Datenbank D mit Schema S, geschrieben D S Das Ergebnis einer Query q auf einer Datenbank D S, geschrieben q(d S ), ist die Menge aller Tupel, die die Ausführung von q in D S ergibt q ist äquivalent zu v, geschrieben q v, gdw. q(d S ) = v(d S ) für jede mögliche Instanz D S von S q ist enthalten in v, geschrieben q v, gdw. q(d S ) v(d S ) für jede mögliche Instanz D S von S Bemerkung Semantische Definition: Es zählt das Ergebnis einer Query Natürlich können wir nicht alle Instanzen aufzählen Wir wollen Containment beweisen, indem wir nur auf die Anfragen selber sehen Ulf Leser: Data Warehousing und Data Mining 18
19 Beispiele (Regelköpfe werden unterschlagen) q product(pid,pn,pgid, Wasser ) q product(pid,pn,pgid,pgn) product(pid,pn,pgid,pgn) localization(sid,sn,rid,rn) product(pid,pn,pgid,pgn), PGN> Wasser product(pid,pn,pgid,pgn) sales(sid,pid,...,p,...), P>80, P<150 sales(sid,pid,...,p,...), P>100, P<150 sales(sid,pid,...,p,...), P>100,P<=150,P<170,P>=150 sales(sid,pid,...,150,...) sales(sid,pid,...,p,...), product(pid,pn,...) sales(sid,pid,...,p,...) (Bei Projektion auf sales) Ulf Leser: Data Warehousing und Data Mining 19
20 Schwieriger: Steckt in jedem Ergebnis von q ein Ergebnis von v? q(b,d) :- edge(a,b), edge(b,c), edge(c,d), edge(d,e) v(a,c) :- edge(a,b), edge(b,c), edge(c,d) q v? q(c,b) :- edge(a,b), edge(c,a), edge(b,c), edge(a,d) v(x,z) :- edge(x,y), edge(y,z) q v? q(a,c) :- edge(a,b), edge(b,c) v(a,c) :- threenodeedge(a,b,c) q v? q(b,d):-edge(a,b),edge(b,c),edge(c,d),edge(a,e),edge(e,d) v(a,c):-edge(a,c),edge(c,e),edge(e,a),edge(a,b),edge(d,b) q v?? Ulf Leser: Data Warehousing und Data Mining 20
21 Vorarbeiten Definition Ein Symbol Mapping h von einer Anfrage v in eine Anfrage q ist eine Funktion h: sym(v) sym(q) Für ein Literal l v, l=rel(a 1,...,A m ) ist h(l) definiert als h(l) := rel( h(a 1 ),..., h(a m ) ) Bemerkung Symbol Mappings sind totale Funktionen, bilden also jedes Symbol aus v auf exakt ein Symbol aus q ab Ulf Leser: Data Warehousing und Data Mining 21
22 Containment Mappings Definition Ein Containment Mapping (CM) h von Anfrage v nach Anfrage q ist ein Symbol Mapping von v nach q für das gilt: 1. c const(v) gilt: h(c) = c Jede Konstante in v wird auf dieselbe Konstante in q abgebildet 2. l v gilt: h(l) q Jedes Literal in v wird auf (mindestens) ein Literal in q abgebildet 3. e exp(v) gilt: h(e) exp(q) Der Kopf von v wird auf den Kopf von q abgebildet 4. cond(q) cond(h(v)) Die Bedingungen von q sind logisch restriktiver als die von v Ulf Leser: Data Warehousing und Data Mining 22
23 Vom CM zum Query Containment Theorem q v gdw. es ein CM von v nach q gibt Lemma q v gdw. es ein CM von v nach q und ein CM von q nach v gibt Beweise [CM77] Über die Semantik von Anfragen Ursprünglich zur Anfrageminimierung entwickelt Richtungen beachten q in v gdw Containment Mapping von v nach q Aber: Bedingungen von q implizieren Bedingungen von v Ulf Leser: Data Warehousing und Data Mining 23
24 Beispiel q v? v(a,c) :- edge(a,b), edge(b,c), edge(c,d) q(b,d) :- edge(a,b), edge(b,c), edge(c,d), edge(d,e) Mapping: A A, B B, C C, D D v(a,c) :- edge(a,b), edge(b,c), edge(c,d) q(b,d) :- edge(a,b), edge(b,c), edge(c,d), edge(d,e) Mapping: A B, B C, C D, D E Ulf Leser: Data Warehousing und Data Mining 24
25 Beispiel v(tid,p) :- sales(sid,tid,p,...),time(tid,d,...),d>28,d<31 q(y,z) :- sales(x,y,z...),time(y,u,...), U>1,U<30 CM: SID X, TID Y, P Z, D U h(d)=u Aber: U>1 U<30! h(d)>28 h(d)<31 q v Ulf Leser: Data Warehousing und Data Mining 25
26 Intuition Containment Mapping (CM) von v nach q 1. c const(v) gilt: h(c) = c Konstante dürfen sich nicht ändern (gleiche Selektionsbedingungen) 2. l v gilt: h(l) q Zusätzliche Literale in q sind nur Filter auf dem Ergebnis; Containment wird dadurch nicht beeinflusst 3. e exp(v) gilt: h(e) exp(q) Es müssen auch die richtigen Variablen ausgegeben werden; q darf weitere Variable exportieren, aber nicht weniger 4. cond(q) cond(h(v)) Bedingungen in q müssen äquivalent oder strikter sein (also höchstens Tupel wegfiltern) als die von v Ulf Leser: Data Warehousing und Data Mining 26
27 Graphisch q darf nur Weniger Tupel berechnen mehr Joins, strengere Bedingungen Mehr Spalten berechnen andere Projektion Können wir aus jedem Ergebnis von q eines für v holen? q v Ulf Leser: Data Warehousing und Data Mining 27
28 Set-Semantik Alles gesagte gilt nur unter Set-Semantik Beispiel v(x,y) :- r(x,y) q(x,y) :- r(x,y), s(y,z) Set-Semantik: q v Aber: Im Ergebnis von q ist jedes Tupel (X,Y) aus r so oft enthalten, wie (Y,_) in s enthalten ist Unter Bag-Semantik gilt das Containment daher nicht Bag-Semantik Anfragen sind nur dann äquivalent, wenn sie isomorph sind Homomorphismen reichen nicht Containment bei Anfragen mit Ungleichheit ist unentscheidbar unter Bag Semantik (PODS2006) Ulf Leser: Data Warehousing und Data Mining 28
29 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Einschub: Datalog Notation Query Containment Depth-First Algorithmus Ableitbarkeit und Query Rewriting Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 29
30 Wie findet man Containment Mappings? q v gwd. es ein Containment Mapping von v q gibt Naives Verfahren Für jedes Symbol Mapping s testen, ob s ein Containment Mapping ist Sei m= sym(q), n= sym(v) => m n Symbol Mappings Besser Literale müssen auf Literale abgebildet werden Also müssen alle Symbole jedes Literals in v auf die Symbole eines Literals in q der gleichen Relation abgebildet werden Wir zählen mögliche Ziele für Literale auf Dabei können wir gleich Bedingung 1 (und 3) testen Übrig bleibt der Test, ob die Teilabbildungen kompatibel sind Ulf Leser: Data Warehousing und Data Mining 30
31 Suchraum q v? Nummerieren v = a(...),b(...),b(...),c(...) q = b(...),c(...),a(...),b(...),d(...) v = a(...),b 1 (...),b 2 (...),c(...) q = b 1 (...),c(...),a(...),b 2 (...),d(...)... jedes Literal von v muss auf mindestens ein Literal in q abgebildet werden... a a b 1 b 1 b 1 b 2 b 2 b 1 b 2 b 2 c c Ulf Leser: Data Warehousing und Data Mining 31
32 Suchraum v = a(...), a b 1 (...), b 1 b 2 b 2 (...), b 1 b 2 b 1 b 2 c(...) c c c c Ulf Leser: Data Warehousing und Data Mining 32
33 Algorithmus (Sketch) Depth-First Traversal des Suchraums CMs werden Literal für Literal erweitert Falls CM nicht erweitert werden kann Suchraum prunen a b 1 b 2 b 1 b 2 b 1 b 2 c c c c Ulf Leser: Data Warehousing und Data Mining 33
34 Beispiel v(a,b) = a(a,c),b(c,b),c(b,a) q(x,x) = a(x,y),b 1 (Y,Z),b 2 (Y,X),c 1 (Z,X),c 2 (X,X) CM bis Position Aktuelles CM Mapping der Literale von v auf Zielliterale in q A X,C Y A X,C Y, C Y,B Z A X,C Y, C Y,B X A X,C Y,B X, B Z,A X A X,C Y,B X, B X,A X a(a,c) a(x,y) a(a,c),b(c,b) a(x,y),b 1 (Y,Z) a(a,c),b(c,b) a(x,y),b 2 (Y,X) a(a,c),b(c,b),c(b,a) a(x,y),b 2 (Y,X),c 1 (Z,X) a(a,c),b(c,b),c(b,a) a(x,y),b 2 (Y,X),c 2 (X,X) Z nicht exportiert B X,B Z nicht kompatibel Fertig Ulf Leser: Data Warehousing und Data Mining 34
35 Beispielbaum a b 1 b 2 c 1 c 2 c 1 c 2 a b 1 a a b 2 a c 1 b 2 a b 2 c 2 a(a,c) a(x,y) a(a,c),b(c,b) a(x,y),b 2 (Y,X) a(a,c),b(c,b),c(b,a) a(x,y),b 2 (Y,X),c 2 (X,X) a(a,c),b(c,b) a(x,y),b 1 (Y,Z) a(a,c),b(c,b),c(b,a) a(x,y),b 2 (Y,X),c 1 (Z,X) Ulf Leser: Data Warehousing und Data Mining 35
36 Komplexität Lemma Seien q und v Anfragen an Schema S mit m= q und n= v. Die Suche nach einem Containment Mapping von v nach q durch Aufzählen möglicher Zielliterale benötigt O(n m ) Kompatibilitätstests von partiellen CM. Beweis Im Worst-Case entsprechen alle Literale beider Anfragen der gleichen Relation Für jedes der n Literale aus v gibt es dann m mögliche Ziele in q Tests auf Kompatibilität und Berechnung der Vereinigung von partiellen CM ist polynomial Problem ist NP vollständig Ulf Leser: Data Warehousing und Data Mining 36
37 Wo sind die Ergebnisse? Ein Containment Mapping h von q nach v bestimmt auch das (partielle) Ergebnis von q in den Ergebnissen von v Für jedes Tupel t im Ergebnis von v Baue ein Tupel t gemäß der umgedrehten Mappings h -1 der Variablen in exp(q) Wenn es mehrere CM von q nach v gibt, wiederhole das für jedes solche Mapping Ulf Leser: Data Warehousing und Data Mining 37
38 Zusammenfassung Query Containment ist NP-vollständig schon für konjunktive Anfragen Aber linear, wenn Prädikate nicht mehrmals vorkommen Diverse Erweiterungen bekannt Containment mit UNION, Negation, Aggregation, Rekursion, Höhere Komplexitätsklassen oder sogar unentscheidbar Weitere Anwendungen Informationsintegration, Caching, Anfrageminimierung Ulf Leser: Data Warehousing und Data Mining 38
39 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Einschub: Datalog Notation Query Containment Depth-First Algorithmus Ableitbarkeit und Query Rewriting Ableitbarkeit von Bedingungen Ableitbarkeit von Joins Ableitbarkeit von Aggregaten Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 39
40 Anwendung Wie können nun Containment beweisen Wie wenden wir das an? Möglichkeit 1: v q äquivalent Fertig: v als Ergebnis von q ausgeben Test auf Äquivalenz erfordert 2 x Containment Möglichkeit 2: v q (aber nicht umgekehrt) v ist ein partielles Ergebnis für q Vielleicht mit weiteren Attributen v berechnet nur korrekte, aber nicht alle Antworten von q Um q zu beantworten, müsste man v berechnen so dass q v v Im Allgemeinen schwierig Ulf Leser: Data Warehousing und Data Mining 40
41 Beispiel q v v q Alle Tupel in v sind richtig Aber es fehlen welche Genau die noch Fehlenden zu bestimmen ist schwierig q v V enthält alle notwendigen Tupel, aber auch noch andere Die müssen wir filtern v q Ulf Leser: Data Warehousing und Data Mining 41
42 Anwendung 2 Möglichkeit 3: q v (aber nicht umgekehrt) Alle Tupel des Ergebnisses von q sind im Ergebnis von v Nicht alle Tupel von v sind korrekte Ergebnisse für q, aber v berechnet alle Ergebnisse von q Manche Tupel müssen aus dem Ergebnis von v entfernt werden Probleme Vollständigkeit: v enthält alle Tupel aber auch die richtigen Attribute? Ableitbarkeit: Wie findet man einen Filter F auf v, so dass nur die richtigen Tupel selektiert werden, also F(v) q? Ulf Leser: Data Warehousing und Data Mining 42
43 Vollständigkeit Query Containment Ableitbarkeit von q q q q' v q' v Wir wollen q beantworten, in dem wir v filtern Daher muss v alle Attribute exportieren, die q exportiert Bedingungen für Containment Mappings müssen geändert werden Ulf Leser: Data Warehousing und Data Mining 43
44 Erweitertes Containment Mapping Definition Ein erweitertes Containment Mapping (CM) h von Anfrage v nach Anfrage q ist ein Symbol Mapping von v nach q für das gilt: 1. c const(v) gilt: h(c) = c 2. l v gilt: h(l) q 3. e exp(q) gilt: e exp(v) mit h(e ) = e Der Kopf von q ist im Bild des Kopfes von v enthalten 4. cond(q) cond(h(v)) In Zukunft: CM = Erweitertes Containment Mapping Ulf Leser: Data Warehousing und Data Mining 44
45 Ableitbarkeit Jetzt hat man alle Attribute, aber zu viele Tupel Wie findet man die richtigen? Ableitbarkeit Wenn q v, dann gilt: q h(v) h: Containment Mapping von v nach q bezeichnet hier die logische Implikation zwischen Formeln in Prädikatenlogik Gesucht: Ausdruck F für den gilt: q h(v) F Im Allgemeinen unentscheidbar Wegen Unentscheidbarkeit der Prädikatenlogik Aber wir betrachten nur konjunktive Anfragen Ulf Leser: Data Warehousing und Data Mining 45
46 Beispiel v 1 (P,PN,SN) :- s(sid,pid,lid,p),p(pid,pn),l(lid,sn) v 2 (P,PN,SN) :- s(sid,pid,lid,p),p(pid,pn),l(lid,sn) P>100, P<300, SN= Kreuzberg q 1 (P,PN,SN) :- s(sid,pid,lid,p),p(pid,pn),l(lid,sn), PN= Gerolsteiner q 2 (P,PN,SN) :- s(sid,pid,lid,p),p(pid,pn),l(lid,sn), P>100, P<200, SN= Kreuzberg q 3 (P,PN,SN) :- s(sid,pid,lid,p),p(pid,pn),l(lid,sn), SN= Kreuzberg v 1,PN= Gerolsteiner q 1 v 2, q 1 v 1, q x v 2,P<200 q 2 v 2, q 3 Ulf Leser: Data Warehousing und Data Mining 46
47 Beispiele v 1 P PN SN 100 Geroldsteiner Wedding 120 Spreequelle Kreuzberg Mitte 80 Geroldsteiner Pankow 250 Geroldsteiner Kreuzberg q 1 P PN SN 120 Geroldsteiner Wedding 80 Geroldsteiner Pankow 250 Geroldsteiner Kreuzberg v 2 P PN SN 120 Spreequelle Kreuzberg 250 Geroldsteiner Kreuzberg q 2 P PN SN 120 Geroldsteiner Kreuzberg Ulf Leser: Data Warehousing und Data Mining 47
48 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Einschub: Datalog Notation Query Containment Depth-First Algorithmus Ableitbarkeit und Query Rewriting Ableitbarkeit von Bedingungen Ableitbarkeit von Joins Ableitbarkeit von Aggregaten Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 48
49 Ableitbarkeit von Bedingungen Annahmen q v (mit erweitertem CM) q und v beinhalten dieselben Literale, Joins und Gruppierungen Unterschied nur in den Bedingungen cond(q) bzw cond(v) Damit können wir cond(q) als Filter verwenden Per Definition CM gilt: cond(q) cond(h(v)) cond(q) sind also schärfere Bedingungen; mit denen müssen wir die Tupel aus v filtern Ulf Leser: Data Warehousing und Data Mining 49
50 Beispiel Beispiel v(a,b) :- r(a,b,c),b<40,c>60 q(a,b) :- r(a,b,c),b<30,c>70 Ist q aus v ableitbar? Verschärfung B<30 auf Ergebnis von v berechenbar Verschärfung C>70 nicht auf Ergebnis von v berechenbar Wir müssen also auf exportierte Variable aufpassen Ulf Leser: Data Warehousing und Data Mining 50
51 Beispiel r A B C v A B q A B Ulf Leser: Data Warehousing und Data Mining 51
52 Algorithmus Annahmen q v mit CM h: v q Seien cond(q)={b 1,B 2,...B n } (ohne Joins) Algorithmus Für alle Bedingungen B i mit h(v) B i Wenn B i Variablen enthält, deren Urbild bzgl. h in v nicht exportiert ist: Abbruch Unzureichende Bedingung auf einer nicht-exportierten Variable Sonst: q h(v) cond(q) Komplexität des einzelnen Tests O(n) für Bedingungen der Art: X=5, X<5, X>5 O(n 3 ) für Bedingungen der Art: X=Y, X<Y,X>Y Ulf Leser: Data Warehousing und Data Mining 52
53 Beispiele v(p,pn,tid) :- s(sid,pid,lid,tid,p),p(pid,pn),l(lid,sn); q 1 (P,PN,TID) :- s(sid,pid,lid,tid,p),p(pid,pn); q 2 (P,PN,TID) :- s(sid,pid,lid,tid,p),p(pid,pn),l(lid,sn), t(tid,d,m,y); q 3 (P,TID) :- s(sid,pid,lid,tid,p),p(pid,p),l(lid,sn); q 1 v? Nein: Inner Join mit l(lid,sn) wirkt als Filter in v q 2 v? Ja: Inner Join mit t() wirkt als Filter in q 2 Also: q 2 h(v),t(tid,d,m,y) q 3 v? Ja: Join s(,p),p(pid,p) ist Filter in q 3 Also: q 3 h(v),pn=p Ulf Leser: Data Warehousing und Data Mining 53
54 Ableitbarkeit von Joins Annahme q v mit CM h: v q q und v beinhalten dieselben Bedingungen und Gruppierungen Aber unterschiedliche Literale bzw. Joins Potentielle Probleme q enthält Literale, die v nicht enthält q enthält Joins, die v nicht enthält Klar: h bildet jedes Literal aus v auf mindestens ein Literal aus q ab Ulf Leser: Data Warehousing und Data Mining 54
55 Algorithmus für Joins Algorithmus Berechne Literale L=(l 1,l 2,...) aus q, die nicht im Bild von h sind Prüfe alle Variable V L, die als Bild in h enthalten sind D.h. es gibt ein (X V) h (X Variable in v) Wenn X exp(v): Abbruch Da nicht kompensierbarer Join mit neuer Tabelle Prüfe alle Elemente von J={ (X=Y) (X V) h (Y V) h} Das sind Joins in q aber nicht in v Wenn X exp(v) oder Y exp(v): Abbruch Da nicht kompensierbarer Join mit Tabelle aus v Sonst: q h(v) L J Ulf Leser: Data Warehousing und Data Mining 55
56 Beispiel v(p,pn,sn,tid) :- s(sid,pid,lid,tid,p),p(pid,pn),l(lid,sn) q 2 (P,PN,SN,TID):- s(sid,pid,lid,tid,p),p(pid,pn),l(lid,sn), t(tid,d,m,y) q 3 (P,P,SN,TID) :- s(sid,pid,lid,tid,p),p(pid,p),l(lid,sn) q 2 v L={t}, J={} (TID TID) h, aber TID exp(v) Also: q 2 v(p,pn,sn,tid), t(tid,d,m,y) q 3 v L={}, J={(PN=P)} (P P),(PN P) h, aber P,PN exp(v) Also: q 3 v(p,pn,sn,tid), P=PN Ulf Leser: Data Warehousing und Data Mining 56
57 Beispiel s SID PID TID LID P p PID PN 2 Wasser 6 Tee l LID PN 4 KB t TID 3 D M Y v P PN SN TID 5 Wasser KB 3 TID 4 2 Tee KB 8 q 2 P PN SN TID 5 Wasser KB 3 Ulf Leser: Data Warehousing und Data Mining 57
58 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Einschub: Datalog Notation Query Containment Depth-First Algorithmus Ableitbarkeit und Query Rewriting Ableitbarkeit von Bedingungen Ableitbarkeit von Joins Ableitbarkeit von Aggregaten Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 58
59 Ableitbarkeit von Aggregaten Annahmen q und v haben die Form SELECT G 1, G 2,...,G n, sum(a 1 ) FROM... WHERE... GROUP BY G 1, G 2,... G n Ohne Gruppierung / Aggregation soll gelten: q v Wir betrachten nur die Aggregatsfunktion SUM Frage: Welche q kann man unter Verwendung eines gegebenen v (schneller) beantworten? Ulf Leser: Data Warehousing und Data Mining 59
60 Beispiel Sei v SELECT pg_id, shop_id, year_id, sum(amount*price) FROM sales S, GROUP BY S.pg_id, S.shop_id, T.year_id Welche Gruppierungen in einer Query q können mit v berechnet werden? PG Shop Year SUM Pepsi Kreuzberg 1997 Pepsi Charlottenburg 1997 Pepsi Kreuzberg 1998 Pepsi Charlottenburg 1998 Bionade Kreuzberg 1997 Bionade Charlottenburg 1997 Bionade Kreuzberg 1998 Bionade Charlottenburg 1998 Ulf Leser: Data Warehousing und Data Mining 60
61 Beobachtung In v sind alle Kombinationen von G= {pg_id, shop_id, year_id} mit Summe vorhanden Aufsummierung für jede Untermenge von G möglich SELECT T.pg_id, T.year_id, sum(...) FROM v GROUP BY T.pg_id, T.year_id SELECT T.shop_id, sum(...) FROM v GROUP BY T.shop_id PG Year SUM Pepsi 1997 Pepsi 1998 Bionade 1997 Bionade 1998 Shop Kreuzberg Charlottenburg SUM Ulf Leser: Data Warehousing und Data Mining 61
62 Wiederholung Erinnerung Eine Gruppierung H ist aus einer Gruppierung G ableitbar, wenn H G () month_id pg_name shop_name month_id, pg_name month_id, shop_name pg_name, shop_name month_id, pg_name, shop_name Ulf Leser: Data Warehousing und Data Mining 62
63 Zusammenfassung Ableitbarkeit Im allgemeinen Fall unentscheidbar NP-vollständig schon für sehr eingeschränkte Anfrageklassen (konjunktive Anfragen) Aber: Linear für viele Anfragen des täglichen Lebens Wann braucht man Self-Joins? Gruppierungsableitbarkeit (ohne having) ist linear Vorsicht vor holistischen Aggregatfunktionen (z.b.: median) Ulf Leser: Data Warehousing und Data Mining 63
64 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Kostenbasierte Optimierung mit MV Ulf Leser: Data Warehousing und Data Mining 64
65 MV in RDBMS Die tatsächliche Frage Gegeben eine Query q und mehrere materialisierte Views, die zur Ableitung von q dienen können Welcher View oder welche Kombination von Views soll verwendet werden, um q möglichst schnell auszuführen? Der kleinste Der, bei dem die Kompensationen billig auszuwerten sind Allgemein: Gibt es Zwischenergebnisse von q, die man durch MV+Kompensation ersetzen kann und auch soll? Kostenbasierte Optimierung Ulf Leser: Data Warehousing und Data Mining 65
66 Anfrageoptimierung mit MVs [TCL+00] Klassische Abfolge Anfrage parsen Aufzählen von Query Execution Plans (QEP) Bottom-Up Bewertung von Teilplänen Konstruktion vollständiger Pläne aus besten Teilplänen Dynamische Programmierung Ulf Leser: Data Warehousing und Data Mining 66
67 Anfrageoptimierung mit MVs Wo passen hier materialisierte Sichten? MV+Kompensation als potentiellen Teilpläne berücksichtigen Bottum-Up Bewertung von Teilplänen Matching: Gibt es für den aktuellen Teilplan einen / mehrere geeignete MVs? Hinzufügen von Kompensationsoperationen notwendig? Bewertung der Kosten (MV + Kompensation) Auswahl des MV, wenn er geringere Kosten als andere Implementierungen des Teilplans in Aussicht stellt Ulf Leser: Data Warehousing und Data Mining 67
68 Beispiel (Snowflakeschema) SELECT Y.year, sum(amount) FROM sales S, product P, day D, month M, year Y WHERE P.name= Gerolsteiner AND P.product_id = S.product_id AND S.day_id = D.day_id AND D.month_id = M.id AND M.year_id = Y.id AND Y.year in (1997, 1998, 1999) GROUP BY Y.year CREATE MATERIALIZED VIEW v_time AS SELECT Y.id, Y.year, M.id, M.month, D.id, D.day FROM year Y, month M, day D WHERE Y.id = M.year_id AND M.id = D.month_id Ulf Leser: Data Warehousing und Data Mining 68
69 Ausführungsplan GROUP BY year_id σ year in (1997, 1998, 1999) month year day sales σ p_name= Gerolsteiner' product CREATE MATERIALIZED VIEW v_time AS SELECT Y.id, Y.year, M.id, M.month, D.id, D.day FROM year Y, month M, day D WHERE Y.id = M.year_id AND M.id = D.month_id Ulf Leser: Data Warehousing und Data Mining 69
70 Alternativplan GROUP BY year_id CREATE MV v_time AS SELECT Y.id, Y.year, FROM year Y, month M, day D WHERE Y.id = M.year_id AND M.id = D.month_id σ year in (1997, 1998, 1999) sales σ p_name= Gerolsteiner' product year month day Ulf Leser: Data Warehousing und Data Mining 70
71 Alternativen bewerten GROUP BY year_id GROUP BY year_id sales σ p_name= Gerolsteiner' product σ year in (1997, 1998, 1999) sales σ p_name= Gerolsteiner' product σ year in (...) v_time year month day Ulf Leser: Data Warehousing und Data Mining 71
72 Einschränkungen Matching muss sehr schnell gehen Lieber einen MV übersehen, als zu lange für Auswahl brauchen Exponentielle Algorithmen vermeiden Trick: MVs indexieren (insb. nach enthaltenen Relationen) I.d.R. werden nicht alle Pläne aufgezählt Typischerweise nur Left-Deep Joins Gezieltes Suchen nach MVs muss eingebaut werden Matching erkennt in echten Systemen nicht alle Matches Abhängig von Datenbanksystem Beispiele für Einschränkungen Keine Funktionen in Bedingungen Keine Negation... Ulf Leser: Data Warehousing und Data Mining 72
73 Einschränkungen Beispiele [GL01] Möglichkeiten, die SQLServer verpasst Äquivalente Formelausdrücke Q: WHERE... A+B=10 V: WHERE... (B/2+A/2)*10=50 Induzierbare Äquivalenzen Q: WHERE... A=2 and B=2 V: WHERE... A=B Ersetzung konstanter/berechenbarer Output-Columns Q: SELECT A,B... WHERE... B=3... V: Q: V: SELECT A,3... WHERE... SELECT... WHERE A*B>50 SELECT A*B... WHERE Ulf Leser: Data Warehousing und Data Mining 73
74 Optimierung mit Aggregaten Annahme Geg. eine Anfrage q mit Gruppierung Geg. eine Menge materialisierter Views V={v 1,, v n } q sei aus allen v i ableitbar Frage: Welchen View benutzt man am besten? A B () C D Siehe CUBE Optimierung A,B A,C A,D B,C B,D C,D A,B,C B,C,D A,B,D A,C,D A,B,C,D Ulf Leser: Data Warehousing und Data Mining 74
75 Literatur [Leh03], Kapitel 7.2, 8.2 Zaharioudakis, M., et al. (2000). "Answering Complex SQL Queries Using Automatic Summary Tables". ACM SIGMOD Bello, R. G., et al. (1998). "Materialized Views in Oracle". 24th VLDB Goldstein, J. and Larson, P.-A. (2001). "Optimizing Queries Using Materialized Views: A Practical, Scalable Solution". ACM SIGMOD, Seattle Leser, U. and Naumann, F. (2006). "Informationsintegration". Heidelberg, dpunkt.verlag. Ulf Leser: Data Warehousing und Data Mining 75
76 Selbsttest Wie kann man testen, ob eine Query q in einem View v enthalten ist? Definieren Sie Containment Mapping Prüfen Sie, ob es für folgende Paare q und v ein CM gibt; falls ja, geben Sie alle CMs an Berechnen Sie eine Kompensation für die folgenden Paare q und v Was ist der Unterschied zwischen einem CM und einem erweiterten CM? Ulf Leser: Data Warehousing und Data Mining 76
Data Warehousing. Answering Queries using Views. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Answering Queries using Views Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Materialisierte Sichten Answering Queries Using Views Query Containment Ableitbarkeit
MehrData Warehousing und Data Mining
Data Warehousing und Data Mining Logische Optimierung Ulf Leser Wissensmanagement in der Bioinformatik Inhaltsübersicht Vorlesung Einleitung & Motivation Architektur Modellierung von Daten im DWH Umsetzung
MehrInformationsintegration Local-as-View: LaV. 15.6.2012 Felix Naumann
Informationsintegration Local-as-View: LaV 15.6.2012 Felix Naumann Überblick 2 Motivation Korrespondenzen Übersicht Anfrageplanung Global as View (GaV) Local as View (LaV) Modellierung Anwendungen Anfragebearbeitung
MehrData Warehousing und Data Mining
Data Warehousing und Data Mining Sprachen für OLAP Operationen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung OLAP Operationen MDX: Multidimensional Expressions SQL Erweiterungen
MehrDatenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16. smichel@cs.uni-kl.de
Datenbanksysteme Wintersemester 2015/16 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Verschachtelte (Engl. Nested) Anfragen Wieso und wo gibt es verschachtelte Anfragen? ˆ Unteranfragen
MehrData Warehousing und Data Mining
Data Warehousing und Data Mining Speicherung multidimensionaler Daten Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Relationales OLAP (ROLAP) Snowflake-, Star- und Fullfactschema
MehrEinführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.
Themenblock: Erstellung eines Cube Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Praktikum: Data Warehousing und Data Mining Idee Speicherung der Daten in Form von Tabellen
MehrThemenblock: Erstellung eines Cube
Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen
MehrWissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)
Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)
MehrData-Warehouse-Technologien
Data-Warehouse-Technologien Prof. Dr.-Ing. Kai-Uwe Sattler 1 Prof. Dr. Gunter Saake 2 1 TU Ilmenau FG Datenbanken & Informationssysteme 2 Universität Magdeburg Institut für Technische und Betriebliche
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:
MehrIndex- und Zugriffsstrukturen für. Holger Brämer, 05IND-P
Index- und Zugriffsstrukturen für Data Warehousing Holger Brämer, 05IND-P Index- und Zugriffstrukturen für Data Warehousing Materialisierte Sichten Bitmap-Indexe Verbundindexe Materialisierte Sichten gehören
Mehr6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015
6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema
MehrDBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt
DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller
MehrEinführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten
Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem
MehrEinleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join
Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrSQL: statische Integrität
SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrViews in SQL. 2 Anlegen und Verwenden von Views 2
Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig
MehrData Warehousing. Relationale Datenbanken. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Relationale Datenbanken Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Relationale Datenbanken Relationales Modell und relationale Operatoren SQL Anfragebearbeitung
MehrData Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY
Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung
MehrOracle OLAP 11g: Performance für das Oracle Data Warehouse
Oracle OLAP 11g: Performance für das Oracle Data Warehouse Marc Bastien Oracle BI Presales Agenda Performanceprobleme in Oracle DWH: gibt s das überhaupt? Mögliche Gründe und Lösungen
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.
Mehr5 Logische Programmierung
5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen
MehrSructred Query Language
Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen
MehrData Warehousing. Sommersemester 2005. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Sommersemester 2005 Ulf Leser Wissensmanagement in der Bioinformatik ... Der typische Walmart Kaufagent verwendet täglich mächtige Data Mining Werkzeuge, um die Daten der 300 Terabyte
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
MehrFortgeschrittene OLAP Analysemodelle
Fortgeschrittene OLAP Analysemodelle Jens Kübler Imperfektion und erweiterte Konzepte im Data Warehousing 2 Grundlagen - Datenanalyse Systemmodell Datenmodell Eingaben System Schätzer Datentypen Datenoperationen
MehrAusgangspunkt. Datenintegration. Ziel. Konflikte. Architekturen. Transparenz
Ausgangspunkt Datenintegration Web Informationssysteme Wintersemester 2002/2003 Donald Kossmann Daten liegen in verschiedenen Datenquellen (Extremfall: jede URL eigene Datenquelle) Mietautos bei www.hertz.com
MehrAnfragesprachen mit Rekursion Datalog
Beispiel: Frankfurter U-Bahn-Netz Hier vereinfacht: Eine Relation U-Bahn-Netz mit Attributen Linie, Halt, nächsterhalt 7.1 7.2 Statische Analyse 7.3 U-Bahn-Netz Linie Halt nächsterhalt U4 Bockenheimer
Mehr2. Übungsblatt 3.0 VU Datenmodellierung
2. Übungsblatt 3.0 VU Datenmodellierung 15. Mai 2012 Allgemeines In diesem Übungsteil sollten Sie Aufgabenstellungen aus den Bereich SQL und Normalformentheorie bearbeiten. Lösen Sie die Beispiele eigenständig,
MehrEinführung in SQL Datenbanken bearbeiten
Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben
MehrSQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
MehrAufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.
Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname
MehrSQL und MySQL. Kristian Köhntopp
SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)
Mehrbersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter
bersicht Niels Schršter EinfŸhrung GROUP BY Roll UpÔs Kreuztabellen Cubes Datenbank Ansammlung von Tabellen, die einen ãausschnitt der WeltÒ fÿr eine Benutzergruppe beschreiben. Sie beschreiben die funktionalen
MehrData Warehousing und Data Mining
Data Warehousing und Data Mining 2 Cognos Report Net (CRN) Ermöglicht Erstellen von Ad-hoc-Anfragen (Query Studio) Berichten (Report Studio) Backend Data Cube Relationale Daten Übung: Cognos Report Net
MehrDownload:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse
Seminar Advanced Data Warehouse Thema: Index Selection Vortrag von Stephan Rieche gehalten am 2. Februar 2004 Download:.../~rieche Inhalt des Vortrages 1. Einleitung - Was ist das Index Selection Problem?
MehrObjektorientierte Datenbanken
OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz
MehrImplementierung der SQL Operatoren GROUP BY und CUBE
Implementierung der SQL Operatoren GROUP BY und CUBE Seminararbeit von Christian Brandt Seminar Advanced Data Warehousing WS 2003/2004 Einführung Ein zentrales Element von OLAP - Anwendungen ist die Aggregation
Mehr5. Datendefinition in SQL
Datendefinition 5. Datendefinition in SQL Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle
MehrModel Klausel - Der Excel-Killer von Oracle?
Model Klausel - Der Excel-Killer von Oracle? Andrea Kennel Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Model Klausel, SQL, Data Warehousing, OLAP Zusammenfassung Ein Data Mart kann als ein Würfel mit
MehrData Warehousing Grundbegriffe und Problemstellung
Data Warehousing Grundbegriffe und Problemstellung Dr. Andrea Kennel, Trivadis AG, Glattbrugg, Schweiz Andrea.Kennel@trivadis.com Schlüsselworte Data Warehouse, Cube, Data Mart, Bitmap Index, Star Queries,
MehrSQL Intensivpraktikum SS 2008
SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrPivotieren. Themenblock: Anfragen auf dem Cube. Roll-up und Drill-down. Slicing und Dicing. Praktikum: Data Warehousing und Data Mining. Produkt.
Zeit Pivotieren Themenblock: Anfragen auf dem Cube Praktikum: Data Warehousing und Data Mining Zeit Zeit 2 Roll-up und Drill-down Slicing und Dicing Drill-down Januar 2 3 33 1. Quartal 11 36 107 Februar
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrData Warehousing. Architektur Komponenten Prozesse. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Architektur Komponenten Prozesse Ulf Leser Wissensmanagement in der Bioinformatik Zusammenfassung letzte Vorlesung Aufbau eines Data Warehouse Redundante, transformierte Datenhaltung Asynchrone
MehrData Warehousing. Fragen des Marketingleiters. Beispiel: : Amazon. Technisch... Amazon weltweit... Datenbank. Aufbau eines DWH OLAP <-> OLTP Datacube
Fragen des Marketingleiters Data Warehousing Wie viele Bestellungen haben wir jeweils im Monat vor Weihnachten, aufgeschlüsselt nach? Aufbau eines DWH OLAP OLTP Datacube Beispiel: : Amazon Technisch
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
MehrKlausur zur Vorlesung Datenbanksysteme I
Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrEinführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
MehrDatenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung
4.2 Logischer Entwurf Datenbankentwurf 4.2 Logischer Entwurf 2002 Prof. Dr. Rainer Manthey Informationssysteme Logischer Entwurf: Einordnung Entwurfsdokumentation logische Strukturen "auf dem Papier" konzeptueller
MehrDatenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
Mehr27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services
531 27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services Im zweiten Teil dieses Buches haben wir die Eigenschaften der Transact-SQL- Sprache in Bezug auf die Bearbeitung von operativen Daten gezeigt.
Mehr3.17 Zugriffskontrolle
3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man
MehrDas SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik
Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank
Mehr6. Datenintegrität. Integritätsbedingungen
6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrAuswahl von Klauseln und Atomen in Prolog
5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten
Mehr(Von der Nähe zur Distanz zum User geordnet)
Datebanken Was ist eigentlich eine Datenbank? Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche. Datenbanken kann
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10
MehrInformationstheorethisches Theorem nach Shannon
Informationstheorethisches Theorem nach Shannon Beispiel zum Codierungsaufwand - Wiederholung: Informationstheorethisches Modell (Shannon) Sei x eine Aussage. Sei M ein Modell Wieviele Bits sind aussreichend,
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrSQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software
SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4
MehrInformations- und Wissensmanagement
Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig
MehrDer SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1
Der SAS DataStep und die Prozedur SQL 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Zahlen und Fakten auf einen Blick Firmensitz: Geschäftsstellen: Branchenerfahrung: Umsatz: Anzahl Mitarbeiter:
MehrAnalytische Funktionen erfolgreich eingesetzt
Analytische Funktionen erfolgreich eingesetzt Dani Schnider Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Analytische Funktionen, SQL, Performance Optimierung, Data Warehousing Zusammenfassung Analytische
MehrÜbungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 19.05.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 02.06.2009, 12:00 Uhr Übungen zu Datenbanksysteme
MehrOnline-Kurs 'Datenbanken und Datenmodellierung'
Online-Kurs 'Datenbanken und Datenmodellierung' n Print-Version - 15.04.2002 (c) StR S. Winter - Universität Passau Inhaltsverzeichnis 1 Der Aufbau von SQL-Anfragen im Überblick 1.1 Der Aufbau einer SQL-Anfrage
MehrInhalt. Dr. Frank Haney 17.5.2005 1
Inhalt SQL-Optimierung Grundlagen Logische und physische Optimierung CBO Funktionsweise Entscheidungsgrundlagen Zugriffspfade Statistiken für den Optimizer Initialisierungsparameter Optimizer Hints Dynamic
Mehr4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel
4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu
MehrIT-Symposium 2008 05.06.2008
Selftuning Database Ein Traum oder Wirklichkeit Ralf Durben Oracle Deutschland GmbH www.hp-user-society.de 1 Die Arbeitswelt des Gestern, heute und morgen Früher Ein für wenige Datenbanken
Mehr8 Access-Abfragen migrieren
Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 8 Access-Abfragen migrieren Mit der Migration der Tabellen Ihrer Anwendung zu einer SQL Server-Datenbank und dem Verknüpfen der SQL Server-Tabellen
Mehr2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.
Übungen und Lösungen 1. Einführung Datenbanken 1) Welche Datenbanktypen kennen Sie? Wodurch sind sie gekennzeichnet? Hierarchische Datenbanken: Zwischen den Datensätzen besteht eine untergeordnete Rangfolge.
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
MehrArt der Info: Technische Background Info Teil 2 (April 2002)
Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 2 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrKapitel 7 Datenbank-Tuning
Kapitel 7 Datenbank-Tuning Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums
MehrSQL Einstieg und Anwendung
Wolfgang D. Misgeld 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. SQL Einstieg und Anwendung Mit SQL-3, IBM DB2,
MehrKonstante Relationen
Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine
MehrDie bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
MehrÜberblick. Informationsintegration Materialisierte vs. Virtuelle Integration. 1.11.2005 Felix Naumann. Ankündigungen
Informationsintegration Materialisierte vs. Virtuelle Integration 1.11.2005 Felix Naumann Ankündigungen Überblick 2 Szenarien der Informationsintegration Data Warehouse Föderierte Datenbanken Einführung
MehrKap. 6 Data Warehouse
1 Kap. 6 Data Warehouse 6.1 Was ist ein Data Warehouse, Motivation? 6.2 Data Cube und Cube-Operationen 6.3 Workshop: MS SQL Server, Cube Operationen 6.4 Physischer Entwurf, Implementierung von Cubes 6.5
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 6b: Das relationale Modell Das Relationale Modell (vgl. Lerneinheit 6a) Wertebereiche (Domänen):
MehrDatenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester 1999. CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);
Institut für Angewandte Informatik AIFB und Formale Beschreibungsverfahren Universität Karlsruhe (TH) Prof. Dr. W. Stucky U. Schmidle Tel.: 0721 / 608-3812, 3509 Fax.: 0721 / 693717 e-mail: stucky schmidle
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
Mehr