Data Warehousing und Data Mining

Größe: px
Ab Seite anzeigen:

Download "Data Warehousing und Data Mining"

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 Data Warehousing Answering Queries using Views Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Materialisierte Sichten Answering Queries Using Views Query Containment Ableitbarkeit

Mehr

Data Warehousing und Data Mining

Data 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

Mehr

Informationsintegration Local-as-View: LaV. 15.6.2012 Felix Naumann

Informationsintegration 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

Mehr

Data Warehousing und Data Mining

Data 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

Mehr

Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16. smichel@cs.uni-kl.de

Datenbanksysteme. 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

Mehr

Data Warehousing und Data Mining

Data 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

Mehr

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

Einfü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

Mehr

Themenblock: Erstellung eines Cube

Themenblock: 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

Mehr

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Wissensreprä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)

Mehr

Data-Warehouse-Technologien

Data-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

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 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:

Mehr

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Index- 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

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. 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

Mehr

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

DBS ::: 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

Mehr

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

Einfü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

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung 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

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen 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.

Mehr

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

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

SQL: statische Integrität

SQL: 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

Mehr

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

Mengenvergleiche: 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

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfü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 = ϕ

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views 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

Mehr

Data Warehousing. Relationale Datenbanken. Ulf Leser Wissensmanagement in der Bioinformatik

Data 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

Mehr

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

Data 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

Mehr

Oracle OLAP 11g: Performance für das Oracle Data Warehouse

Oracle 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

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

Mehr

5 Logische Programmierung

5 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

Mehr

Sructred Query Language

Sructred 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

Mehr

Data Warehousing. Sommersemester 2005. Ulf Leser Wissensmanagement in der Bioinformatik

Data 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

Mehr

TU 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. 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/

Mehr

Fortgeschrittene OLAP Analysemodelle

Fortgeschrittene 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

Mehr

Ausgangspunkt. Datenintegration. Ziel. Konflikte. Architekturen. Transparenz

Ausgangspunkt. 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

Mehr

Anfragesprachen mit Rekursion Datalog

Anfragesprachen 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

Mehr

2. Übungsblatt 3.0 VU Datenmodellierung

2. Ü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,

Mehr

Einführung in SQL Datenbanken bearbeiten

Einfü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

Mehr

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

SQL. 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

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau 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

Mehr

SQL und MySQL. Kristian Köhntopp

SQL 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)

Mehr

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter

bersicht 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

Mehr

Data Warehousing und Data Mining

Data 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

Mehr

Download:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse

Download:.../~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?

Mehr

Objektorientierte Datenbanken

Objektorientierte 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

Mehr

Implementierung der SQL Operatoren GROUP BY und CUBE

Implementierung 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

Mehr

5. Datendefinition in SQL

5. 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

Mehr

Model Klausel - Der Excel-Killer von Oracle?

Model 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

Mehr

Data Warehousing Grundbegriffe und Problemstellung

Data 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,

Mehr

SQL Intensivpraktikum SS 2008

SQL 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

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. 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

Mehr

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

Pivotieren. 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

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binä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.

Mehr

Data Warehousing. Architektur Komponenten Prozesse. Ulf Leser Wissensmanagement in der Bioinformatik

Data 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

Mehr

Data Warehousing. Fragen des Marketingleiters. Beispiel: : Amazon. Technisch... Amazon weltweit... Datenbank. Aufbau eines DWH OLAP <-> OLTP Datacube

Data 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

Mehr

Theorie der Informatik

Theorie 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

Mehr

Klausur zur Vorlesung Datenbanksysteme I

Klausur 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

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser 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,

Mehr

Einführung in die Informatik II

Einfü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

Mehr

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung

Datenbankentwurf. 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

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme 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

Mehr

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services

27 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.

Mehr

3.17 Zugriffskontrolle

3.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

Mehr

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

Das 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

Mehr

6. Datenintegrität. Integritätsbedingungen

6. 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

Mehr

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

mit 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

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl 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)

(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

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische 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

Mehr

Informationstheorethisches Theorem nach Shannon

Informationstheorethisches 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,

Mehr

Logik für Informatiker

Logik 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:

Mehr

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

SQL 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

Mehr

Informations- und Wissensmanagement

Informations- 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

Mehr

Der 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 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:

Mehr

Analytische Funktionen erfolgreich eingesetzt

Analytische 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

Ü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

Mehr

Online-Kurs 'Datenbanken und Datenmodellierung'

Online-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

Mehr

Inhalt. Dr. Frank Haney 17.5.2005 1

Inhalt. 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

Mehr

4.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. 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

Mehr

IT-Symposium 2008 05.06.2008

IT-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

Mehr

8 Access-Abfragen migrieren

8 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

Mehr

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

2) 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.

Mehr

Unterabfragen (Subqueries)

Unterabfragen (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

Mehr

Art der Info: Technische Background Info Teil 2 (April 2002)

Art 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

Mehr

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

Mai 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

Mehr

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

SQL 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-

Mehr

Kapitel 7 Datenbank-Tuning

Kapitel 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

Mehr

SQL Einstieg und Anwendung

SQL 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,

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die 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

Ü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

Mehr

Kap. 6 Data Warehouse

Kap. 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

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme 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):

Mehr

Datenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester 1999. CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);

Datenbank- 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

Mehr

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

Nachtrag: 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

Mehr

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

SQL 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

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.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

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. 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