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 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 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. Ausführung von OLAP Operationen. Ulf Leser Wissensmanagement in der Bioinformatik

Data 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

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

Data Warehousing. Speicherung multidimensionaler Daten. Ulf Leser Wissensmanagement in der Bioinformatik

Data 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

Mehr

Spezifikation in Datalog:

Spezifikation 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

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 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

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

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

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

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

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

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

Logik für Informatiker

Logik 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

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

Aggregatfunktionen in SQL

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

Mehr

Daten-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) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

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

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

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

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

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

SQL: Weitere Funktionen

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

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete 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

Mehr

Musterlösung zur Finalklausur Datenbanksysteme am

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

Mehr

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

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

Mehr

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie

Seminar 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

Mehr

ACCESS SQL ACCESS SQL

ACCESS 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

Mehr

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)

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

Mehr

Ersetzbarkeitstheorem

Ersetzbarkeitstheorem 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

Mehr

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

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

Übung Blatt 5. Materialized Views. Ulf Leser Wissensmanagement in der Bioinformatik

Ü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

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

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken 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

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

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen

Algorithmen 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

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

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

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

Abfragen (Queries, Subqueries)

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

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

Datenbanksysteme I Aufgabenblatt 4: SQL

Datenbanksysteme 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

Mehr

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Aussagenlogische 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

Mehr

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan 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

Mehr

Logische und funktionale Programmierung

Logische 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

Mehr

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

Mehr

Karoline Grandy und Renate Schöfer

Karoline 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

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

Hilbert-Kalkül (Einführung)

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

Mehr

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

Mehr

Logik-Grundlagen. Syntax der Prädikatenlogik

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

Mehr

Primitiv rekursive und µ-rekursive Funktionen

Primitiv 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

Mehr

Vorlesung Datenbank-Entwurf Klausur

Vorlesung 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

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

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

Mehr

Ausdrucksstärke von monadischem Datalog auf Bäumen

Ausdrucksstä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:

Mehr

1.2 Eigenschaften der ganzen Zahlen

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

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

1.2 Rechnen mit Termen II

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

Mehr

Data Warehousing. Indexierung. Wissensmanagement in der. Bioinformatik. Ulf Leser

Data 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

Mehr

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

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

Mehr

Kapitel 5: Der SQL-Standard

Kapitel 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

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

Kapitel 1. Grundlagen Mengen

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

Mehr

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Klausuraufgaben. 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,

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

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

3. Grundlegende Begriffe von Logiken - Aussagenlogik

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

Mehr

Anfrageoptimierung Logische Optimierung

Anfrageoptimierung 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

Mehr

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Aussagenlogik 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

Mehr

Kapitel 10: Relationale Anfragebearbeitung

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

Mehr

Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln

Entscheidungsverfahren 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

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

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

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische 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

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

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. 06 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

Datenstrukturen & Algorithmen

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

Mehr

Indexstrukturen in SQL

Indexstrukturen 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

Mehr

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

Mehr

Theorem Proving. Software Engineering in der Praxis. Prädikatenlogik. Software Engineering in der Praxis Wintersemester 2006/2007

Theorem 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

Mehr

Binary Decision Diagrams (Einführung)

Binary 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

Mehr

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

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

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

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT 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

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

Normalformen boolescher Funktionen

Normalformen boolescher Funktionen Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion

Mehr

Kapitel 1. Grundlagen

Kapitel 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

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

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

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

Mehr

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin

SQL 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