Data Warehousing und Data Mining
|
|
- Leonard Sauer
- 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 anderer Anfragen Alle Verkäufe nach Produkt, Monat und Region Alle Verkäufe in Region X nach Produkt, Monat und Shop Alle Verkäufe in Produktgruppe 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.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, S.day_id SELECT region_id, product_id, day_id, sum(total) FROM all_groups A GROUP BY region_id, P.product_id, S.day_id Ulf Leser: Data Warehousing und Data Mining 8
9 Themen Query optimization: Welche MV wann verwenden? Wann kann man welche MV verwenden? Query Containment, Ableitbarkeit, Anfrageplanung Wann soll man welchen MV verwenden? Kostenbasierte Optimierung View maintenance: Wie hält man MV aktuell? MV aktualisieren, wenn sich Basistabellen ändern U.U. schwierig: Aggregate, Joins, Outer-Joins,... View selection: Welche Views soll man materialisieren? Trade-Off: Schnellere Queries versus Platz / Aktualisierung Wahl der optimalen MVs hängt von Workload ab 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 zunächst 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 vollständiges 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 zunächst den einfachsten 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 Frage: 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 Anfragen q und v gegen dasselbe Schema S 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, nicht ihr Quelltext Natürlich können wir nicht alle Instanzen aufzählen Wir müssen Containment nur aufgrund der Anfrage beweisen 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 folgendes 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 Weniger Tupel berechnen, nicht mehr mehr z.b. mehr Joins, strengere Bedingungen Mehr Spalten berechnen, aber nicht weniger Intuition: Können wir aus jedem Ergebnis von q ein komplettes Ergebnistupel 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 gdw 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 (Bedingung 2) 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(...) Bedingung 2: 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 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 Ulf Leser: Data Warehousing und Data Mining 36
37 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 37
38 Wo sind die Ergebnisse? Ein Containment Mapping h von v nach q bestimmt auch das (partielle) Ergebnis von v in den Ergebnissen von q Für jedes Tupel t im Ergebnis von q Baue ein Tupel t gemäß des inversen Mappings h -1 auf den Variablen in exp(q) Wenn es mehrere CM von v nach q gibt, wiederhole das für jedes solche Mapping Ulf Leser: Data Warehousing und Data Mining 38
39 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 unentscheidbar Weitere Anwendungen Informationsintegration, Caching, Anfrageminimierung Ulf Leser: Data Warehousing und Data Mining 39
40 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 40
41 Anwendung Wie können Containment zeigen - wie wenden wir es an? Szenario: Können wir MV v für Anfrage q verwenden? Möglichkeit 1: v q äquivalent Fertig: v als Ergebnis von q ausgeben Erinnerung: Das Ergebnis von v ist ja materialisiert 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 Tupel für 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 41
42 Beispiel q v v q Alle Tupel in v sind richtig Aber es fehlen welche Die 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 42
43 Anwendung 2 Möglichkeit 3: q v (aber nicht umgekehrt) Alle Tupel des Ergebnisses von q sind im Ergebnis von v Aber nicht alle Tupel von v sind korrekt für q Falsche 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 43
44 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 44
45 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 45
46 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 Aber wir betrachten nur konjunktive Anfragen Ulf Leser: Data Warehousing und Data Mining 46
47 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 47
48 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 48
49 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 49
50 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 50
51 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 51
52 Beispiel r A B C v A B q A B 8 28 Ulf Leser: Data Warehousing und Data Mining 52
53 Algorithmus Annahmen q v mit CM h: v q Seien cond(q)={b 1,B 2,...B n } 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 53
54 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 54
55 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 55
56 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 56
57 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 57
58 Beispiel s SID PID TID LID P p PID PN 2 Wasser 6 Tee l LID SN 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 58
59 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 59
60 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 60
61 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 61
62 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 62
63 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 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 Allgemeiner: Gibt es Teile 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 MV+Kompensation als potentielle Teilpläne berücksichtigen Bottom-Up Bewertung von Teilplänen Matching: Gibt es für den aktuellen Teilplan geeignete MVs? Hinzufügen von Kompensationsoperationen notwendig? Bewertung der Kosten (MV + Kompensation) Verwendung, wenn er geringere Kosten als andere Implementierungen des Teilplans in Aussicht stellt Welche Rolle spielt dabei Query Containment? Für jeden Teilplan q müssen alle MVs v i gesucht werden, für die gilt: q v i und überzählige Tupel in v i können gefiltert werden Praktisch prüft man nicht alle Teilpläne (erst ab k Joins) und findet nicht alle MVs, sondern möglichst viele möglichst schnell 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 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 Echten Systemen finden nicht alle möglichen MV 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 MS-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. Ausführung von OLAP Operationen. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Ausführung von OLAP Operationen Ulf Leser Wissensmanagement in der Bioinformatik Variante 1 - Snowflake Year id year Productgroup id pg_name Month Id Month year_id Day Id day month_id
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
MehrData Warehousing. Speicherung multidimensionaler Daten. Ulf Leser Wissensmanagement in der Bioinformatik
Data Warehousing Speicherung multidimensionaler Daten Ulf Leser Wissensmanagement in der Bioinformatik Beispiel Z.Tag Z.Monat 4.1.1999 B.Abteilung 4 1999 B.Sparte 3.1.1999 3 1999 2.1.1999 1.1.1999 Skoda.Reparatur
MehrSpezifikation in Datalog:
Spezifikation in Datalog: darf_hinzufügen (X,W) :- editiert (Z,W), hat_mitglied (Z,X). darf_löschen (X,E) :- besitzt (X,E). darf_modifizieren (X,E) :- besitzt (X,E). darf_modifizieren (X,E) :- besitzt
MehrISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de
08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren
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
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
MehrVorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.
Vorlesung Datenbanktheorie Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Vorlesung vom Mittwoch, 05. Juli 2006 Letzte Vorlesung: Kurze Bemerkungen zum Armstrong-Kalkül The Chase:
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)
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
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
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge
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.
MehrAggregatfunktionen in SQL
Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,
MehrDaten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
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
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
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
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
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,
MehrSQL: Weitere Funktionen
Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Beweise)
WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14
MehrMusterlösung zur Finalklausur Datenbanksysteme am
Musterlösung zur Finalklausur Datenbanksysteme am 5.2.2003 Aufgabe 1 a) Anfragen: (20 Punkte) i.suchen Sie die Stücke (Titel), die Komponist Lennon erstellt hat und von der Musikfirma EMI veröffentlicht
MehrSyntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4
Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)
MehrSeminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie
Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch
MehrACCESS SQL ACCESS SQL
ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache
MehrEinleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)
Betrifft Autör: GROUPING_ID Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem Oracle9i Data Warehousing Guide und den Kursen New Features Oracle9i
MehrErsetzbarkeitstheorem
Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen
MehrRepetitorium. Data Warehousing und Data Mining 11/12. Sebastian Wandelt 13./16. Februar 2012
Repetitorium Data Warehousing und Data Mining 11/12 Sebastian Wandelt 13./16. Februar 2012 Inhalt Data Warehousing und Data Mining auf 40 Slides Weder in-, noch exklusiv! Subjektive Zusammenfassung pro
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
MehrÜbung Blatt 5. Materialized Views. Ulf Leser Wissensmanagement in der Bioinformatik
Übung Blatt 5 Materialized Views Ulf Leser Wissensmanagement in der Bioinformatik Achtung Die Tabellen, Views, Indexe etc. von Aufgabe 4 noch nicht löschen! Ulf Leser: DWH und DM, Übung, Sommersemester
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
MehrDatenbanken Unit 4: Das Relationale Modell & Datenintegrität
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach
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
MehrAlgorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen
Algorithmen für OBDD s 1. Reduziere 2. Boole sche Operationen 1 1. Reduziere siehe auch M.Huth und M.Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge Univ.Press, 2000
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
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
MehrAnfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis
Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung
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:
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,
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
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
MehrDatenbanksysteme I Aufgabenblatt 4: SQL
Hinweise: Datenbanksysteme I Aufgabenblatt 4: SQL Abgabetermin: Montag, 08.01.07, 13:30 (vor der Vorlesung) Format: Auf Papier im Fach Datenbanksysteme I im Foyer oder per E-Mail an dbs1@hpi.uni-potsdam.de
MehrAussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen
Einführung in die Logik - 4 Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen Widerlegungsverfahren zum Aufwärmen: Bestimmung von Tautologien mittels Quick Falsification
MehrStefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 2: Prädikatenkalkül erster Stufe Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. Oktober 2016 1/38 DIE INTERPRETATION
MehrInhalt. Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints. Dr.
Inhalt Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints Dr.Frank Haney 1 Behandlung von Views durch den CBO View Merging bedeutet, daß
MehrKaroline Grandy und Renate Schöfer
Karoline Grandy und Renate Schöfer 1 Lemma 1 (Haruki) In einem Kreis seien zwei sich nicht schneidende Sehnen AB und CD gegeben. Außerdem wähle einen beliebiger Punkt P auf dem Kreisbogen zwischen A und
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
MehrHilbert-Kalkül (Einführung)
Hilbert-Kalkül (Einführung) Es gibt viele verschiedene Kalküle, mit denen sich durch syntaktische Umformungen zeigen läßt, ob eine Formel gültig bzw. unerfüllbar ist. Zwei Gruppen von Kalkülen: Kalküle
MehrTheorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
MehrLogik-Grundlagen. Syntax der Prädikatenlogik
Logik-Grundlagen X 1 :...: X k : ( A 1 A 2... A m B 1 B 2... B n ) Logische und funktionale Programmierung - Universität Potsdam - M. Thomas - Prädikatenlogik III.1 Syntax der Prädikatenlogik Prädikat:
MehrPrimitiv rekursive und µ-rekursive Funktionen
Primitiv rekursive und µ-rekursive Funktionen Loop-, While- und Goto-Programme sind vereinfachte imperative Programme und stehen für imperative Programmiersprachen, bei denen Programme als Folgen von Befehlen
MehrVorlesung Datenbank-Entwurf Klausur
Dr. Stefan Brass 3. Juli 2002 Institut für Informatik Universität Giessen Vorlesung Datenbank-Entwurf Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises
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
MehrKapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln
Kapitel 1.3 Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Mathematische Logik (WS 2011/12) Kapitel 1.3: Normalformen 1/ 29 Übersicht
MehrAusdrucksstärke von monadischem Datalog auf Bäumen
Ausdrucksstärke von monadischem Datalog auf Bäumen RWTH Aachen Seminar über Automaten für XML (WS 2005/06) 06. Dezember 2005 Druckversion Worum es geht... Aufgabe: Selektieren von Knoten in Bäumen Anfragesprache:
Mehr1.2 Eigenschaften der ganzen Zahlen
Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen
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 = ϕ
Mehr1.2 Rechnen mit Termen II
1.2 Rechnen mit Termen II Inhaltsverzeichnis 1 Ziele 2 2 Potenzen, bei denen der Exponent negativ oder 0 ist 2 3 Potenzregeln 3 4 Terme mit Wurzelausdrücken 4 5 Wurzelgesetze 4 6 Distributivgesetz 5 7
MehrData Warehousing. Indexierung. Wissensmanagement in der. Bioinformatik. Ulf Leser
Data Warehousing Indexierung Ulf Leser Wissensmanagement in der Bioinformatik Beispielquery Jahr Monat Tag Menge Preis Verkauf Shop Region Produktgruppe Produkt Alle Verkäufe der Produktgruppe Bier nach
MehrVorlesung. Einführung in die mathematische Sprache und naive Mengenlehre
Vorlesung Einführung in die mathematische Sprache und naive Mengenlehre Allgemeines RUD26 Erwin-Schrödinger-Zentrum (ESZ) RUD25 Johann-von-Neumann-Haus Fachschaft Menge aller Studenten eines Institutes
MehrKapitel 5: Der SQL-Standard
Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck
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
MehrKapitel 1. Grundlagen Mengen
Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrKlausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}
Klausuraufgaben 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} L = {a n b m n > 0, m > 0, n m} a) Ist L kontextfrei? Wenn ja, geben Sie eine kontextfreie Grammatik für L an. Wenn nein,
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
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
Mehr3. Grundlegende Begriffe von Logiken - Aussagenlogik
3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,
MehrAnfrageoptimierung Logische Optimierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer
MehrAussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen
Prädikatenlogik 1. Stufe (kurz: PL1) Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen notwendig: Existenz- und Allaussagen Beispiel: 54 Syntax der Prädikatenlogik erster Stufe (in der
MehrKapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:
MehrEntscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln
Vorlesung Letz WS 2002/2003 TU München: Logikbasierte Entscheidungsverfahren Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln INHALTE Die Bernays-Schönfinkel-Klasse bzw. Datenlogik-Formeln
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
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/
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
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
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. 06 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrIndexstrukturen in SQL
Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Teil 3: Logik 1 Aussagenlogik Einleitung Eigenschaften Äquivalenz Folgerung Normalformen 2 Prädikatenlogik Wenn eine Karte
MehrTheorem Proving. Software Engineering in der Praxis. Prädikatenlogik. Software Engineering in der Praxis Wintersemester 2006/2007
Seite 1 Theorem Proving Prädikatenlogik Seite 2 Gliederung Warum Theorembeweisen? Wie funktioniert Theorembeweisen? Wie kann mir das Werkzeug KIV dabei helfen? Seite 3 Warum Theorembeweisen? Wie kann man
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrReduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen
en Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie P, und C Definition () Seien L 1, L 2 {0, 1} zwei Sprachen. Wir sagen, dass L 1 auf L 2 in polynomialer Zeit reduziert wird, wenn eine
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.
MehrSELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.
SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte
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
MehrNormalformen boolescher Funktionen
Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion
MehrKapitel 1. Grundlagen
Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig
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.
MehrSQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT
SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch
MehrSQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin
SQL Wiederholung Datenbanktechnologien Prof. Dr. Ingo Claÿen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Verbunde Aggregation und Gruppierung Unterabfragen Verbunde Inner-Join Nur
Mehr