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 Optimierung mit Aggregaten 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 einer Anfrage 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 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 6

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

8 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 nachführen, wenn sich Basistabellen ändern U.U. schwierig: Aggregate, Joins, Outer-Joins,... Query optimization: Welche MV wann verwenden? Wann kann man MV verwenden? Query Containment und Ableitbarkeit Welche MV kann man verwenden? Logische Anfrageplanung Wann soll man einen MV verwenden? Kostenbasierte Optimierung Ulf Leser: Data Warehousing und Data Mining 8

9 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 Optimierung mit Aggregaten Ulf Leser: Data Warehousing und Data Mining 9

10 Kürzere Schreibweise Wir betrachten 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 10

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

12 Begriffe Ulf Leser: Data Warehousing und Data Mining 12

13 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 Variable, 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 13

14 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 Normales SQL: Verboten Rekursives SQL: Views mit Namen Ulf Leser: Data Warehousing und Data Mining 14

15 Was müssen wir tun? Wir betrachten 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: HK Informationsintegration Kann man v verwenden, um q zu beantworten? Dazu müssen wir eine Aussage über die Ergebnismengen von v und q machen Die wollen wir nur aus den Definitionen von v und q ableiten Query Containment Ulf Leser: Data Warehousing und Data Mining 15

16 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 v in q enthalten, v q Offensichtlich gilt: v q, q v v q Ulf Leser: Data Warehousing und Data Mining 16

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

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

19 Weitere Beispiele q 1 (B,D) :- path(a,b), path(b,c), path(c,d), path(d,e) q 2 (A,C) :- path(a,b), path(b,c), path(c,d) q 1 q 2? q 1 (C,B) :- path(a,b), path(c,a), path(b,c), path(a,d) q 2 (X,Z) :- path(x,y), path(y,z) q 1 q 2? q 1 (A,C) :- path(a,b), path(b,c) q 2 (A,C) :- threenodepath(a,b,c) q 1 q 2? q 1 (B,D):-path(A,B),path(B,C),path(C,D),path(A,E),path(E,D) q 2 (A,C):-path(A,C),path(C,E),path(E,A),path(A,B),path(D,B) q 1 q 2?? Ulf Leser: Data Warehousing und Data Mining 19

20 Vorarbeiten Definition Ein Symbol Mapping h von einer Anfrage q 2 in eine Anfrage q 1 ist eine Funktion h: sym(q 2 ) sym(q 1 ) Für ein Literal l q 2, 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 q 2 auf exakt ein Symbol aus q 1 ab Ulf Leser: Data Warehousing und Data Mining 20

21 Containment Mappings Definition Ein Containment Mapping (CM) h von Anfrage q 2 nach Anfrage q 1 ist ein Symbol Mapping von q 2 nach q 1 für das gilt: 1. c const(q 2 ) gilt: h(c) = c Jede Konstante in q 2 wird auf dieselbe Konstante in q 1 abgebildet 2. l q 2 gilt: h(l) q 1 Jedes Literal in q 2 wird auf (mindestens) ein Literal in q 1 abgebildet 3. e exp(q 2 ) gilt: h(e) exp(q 1 ) Der Kopf von q 2 wird auf den Kopf von q 1 abgebildet 4. cond(q 1 ) cond(h(q 2 )) Die Bedingungen von q 1 sind logisch restriktiver als die von q 2 Ulf Leser: Data Warehousing und Data Mining 21

22 Vom CM zum Query Containment Theorem q 1 q 2 gdw. es ein CM von q 2 nach q 1 gibt Lemma q 1 q 2 gdw. es ein CM von q 2 nach q 1 und ein CM von q 1 nach q 2 gibt Beweise Über die Semantik von Anfragen Literatur [CM77] Ursprünglich zur Anfrageminimierung entwickelt Richtungen beachten Containment Mapping von q 2 nach q 1 Bedingungen von q 1 implizieren Bedingungen von q 2 Ulf Leser: Data Warehousing und Data Mining 22

23 Beispiel q 1 q 2? q 2 (A,C) :- path(a,b), path(b,c), path(c,d) q 1 (B,D) :- path(a,b), path(b,c), path(c,d), path(d,e) Mapping: A A, B B, C C, D D q 2 (A,C) :- path(a,b), path(b,c), path(c,d) q 1 (B,D) :- path(a,b), path(b,c), path(c,d), path(d,e) Mapping: A B, B C, C D, D E Ulf Leser: Data Warehousing und Data Mining 23

24 Beispiel q 2 (TID,P) :- sales(sid,tid,p,...),time(tid,d,...),d>28,d<31 q 1 (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 1 q 2 Ulf Leser: Data Warehousing und Data Mining 24

25 Intuition Containment Mapping (CM) von q 2 nach q 1 1. c const(q 2 ) gilt: h(c) = c Konstante dürfen sich nicht ändern (gleiche Selektionsbedingungen) 2. l q 2 gilt: h(l) q 1 Zusätzliche Literale in q 1 sind nur Filter auf dem Ergebnis; Containment wird dadurch nicht beeinflusst 3. e exp(q 2 ) gilt: h(e) exp(q 1 ) Es müssen auch die richtigen Variablen ausgegeben werden; q 1 darf weitere Variable exportieren, aber nicht weniger 4. cond(q 1 ) cond(h(q 2 )) Bedingungen in q 1 müssen äquivalent oder strikter sein (also höchstens Tupel wegfiltern) als die von q 2 Ulf Leser: Data Warehousing und Data Mining 25

26 Intuition 2 q 1 darf nur Weniger Tupel berechnen mehr Joins, strengere Bedingungen Mehr Spalten berechnen andere Projektion Ulf Leser: Data Warehousing und Data Mining 26

27 Set-Semantik Alles gesagte gilt nur unter Set-Semantik Beispiel q 1 (X,Y) :- r(x,y) q 2 (X,Y) :- r(x,y), s(y,z) Set-Semantik: q 2 q 1 Aber: Im Ergebnis 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 (PODS2006) Ulf Leser: Data Warehousing und Data Mining 27

28 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 Optimierung mit Aggregaten Ulf Leser: Data Warehousing und Data Mining 28

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

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

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

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

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

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

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

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

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

38 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 Optimierung mit Aggregaten Ulf Leser: Data Warehousing und Data Mining 38

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

40 Beispiel q v v q Alle Tupel in v sind richtig Aber es fehlen welche Die nachträglich zu finden ist schwierig q v Tupel enthält alle notwendigen Tupel, aber auch noch andere Die müssen wir rausfiltern v q Ulf Leser: Data Warehousing und Data Mining 40

41 Anwendung 2 Möglichkeit 3: q v (aber nicht umgekehrt) Ergebnis von q vollständig enthalten in 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 41

42 Vollständigkeit Query Containment Ableitbarkeit von q q q v 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 42

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

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

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

46 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 Wedding Ulf Leser: Data Warehousing und Data Mining 46

47 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 Optimierung mit Aggregaten Ulf Leser: Data Warehousing und Data Mining 47

48 Ableitbarkeit von Bedingungen Annahmen q v (mit erweitertem CM) q und v beinhalten dieselben Literale, Joins und Gruppierungen 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 48

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

50 Beispiel r A B C v A B q A B Ulf Leser: Data Warehousing und Data Mining 50

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

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

53 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 Einfachste Idee: Wende q auf v an: q q(v(d)) In typischen RDBMS sehr schwierig zu implementieren Wir wollen lieber die Anfrage umschreiben v( ) :- l(x,y),k(y,z) q(f 1, ) :- l(b,a),k(a,b),m(a,c) Ulf Leser: Data Warehousing und Data Mining 53

54 Algorithmus für Joins Sei q v mit CM h: v q h bildet jedes Literal aus v auf mindestens ein Literal aus q ab Algorithmus Berechne Literale L=(l 1,l 2,...) aus q, die nicht im Bild von h sind Prüfe alle Variable V l x, 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 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 Sonst: q h(v) L J Ulf Leser: Data Warehousing und Data Mining 54

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

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

57 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 Optimierung mit Aggregaten Ulf Leser: Data Warehousing und Data Mining 57

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

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

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

61 Formaler (und Wiederholung) Erinnerung Eine Gruppierung H ist aus einer Gruppierung G ableitbar, wenn H G Lemma Sei v ein View mit Gruppierungsattributen G v und q eine Query mit Gruppierungsattributen G q und q und v haben äquivalente SPJ Klauseln q ist direkt ableitbar aus v, geschrieben v q, gdw. G q G v und G q = G v - 1 oder G q = G v \ a x a y mit a x G v, a y G v und a y ist funktional abhängig von a x q ist ableitbar aus v, geschrieben v * q, gdw. v q oder Es existieren Views v 1...,v n so, dass: v v 1 v n q Ulf Leser: Data Warehousing und Data Mining 61

62 Aggregationsgitter () Direkte Ableitbarkeit month_id pg_name shop_name month_id, pg_name month_id, shop_name pg_name, shop_name month_id, pg_name, shop_name Ableitbarkeit Ulf Leser: Data Warehousing und Data Mining 62

63 Ableitbarkeit bei funkt. Abhängigkeiten SELECT T.month_id, P.pg_id, R.shop_id, sum(v.sum) FROM sales S, time T, product P, region R WHERE... GROUP BY T.month_id, P.pg_id, R.shop_id SELECT T.year_id, v.pg_id, v.shop_id, sum(v.sum) FROM v, time T WHERE v.month_id = T.month_id GROUP BY T.year_id, v.pg_id, v.shop_id Erfordert Rewriting mit zusätzlichen Joins Erfordert weitere Aggregationen Entlang der Hierarchie Ulf Leser: Data Warehousing und Data Mining 63

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

65 Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit MV Kostenbasierte Optimierung mit MV Grundprinzip Optimierung mit Aggregaten Ulf Leser: Data Warehousing und Data Mining 65

66 Ziel Mögliche nächste 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 Kompensationsattribute billig auszuwerten sind Allgemeine Frage Gibt es Teile von q, den man mit einigen der v berechnen kann? Kostenbasierte Optimierung Ulf Leser: Data Warehousing und Data Mining 66

67 Anfrageoptimierung mit MVs [TCL+00] Klassische Abfolge Anfrage parsen Aufzählen von Query Execution Plans (QEP) Bottom-Up Bewertung von Teilplänen (Access Paths) Konstruktion vollständiger Pläne aus besten Teilplänen Dynamische Programmierung Ulf Leser: Data Warehousing und Data Mining 67

68 Anfrageoptimierung mit MVs Wo passen hier materialisierte Sichten? Sketch Jede materialisierte Sicht ist ein potentieller Teilplan Besser: Jede MV plus Kompensationen Bei Bottum-Up Bewertung von Teilplänen auch materialisierte Sichten berücksichtigen 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 als Access Path, wenn er geringere Kosten als andere Teilpläne in Aussicht stellt Ulf Leser: Data Warehousing und Data Mining 68

69 Beispiel (Snowflakeschema) SELECT Y.year, sum(amount) FROM sales S, product P, days D, months M, years 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 69

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

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

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

73 Einschränkungen Matching soll 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 73

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

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

76 Den kleinsten A B C 1 A X 1 B X 2 A Y 2 B Y B A B A B D 1 A 1 B D A 1 A 2 B 2 A 4 A 5 B 3 Berechnung von q aus MV benötigt: Sortieren des Views nach G-Attributen Lesen, gruppieren und aggregieren in einem Scan A B C D 1 A X 1 1 A X 2 1 B X 2 2 A Y 4 2 A Y 1 2 A Y 5 2 B Y 3 1 A 2 1 B 2 2 A 4 2 A 1 2 A 5 2 B 3 Da man MV nicht sortiert speichern kann Auswahl des MV mit der kleinsten Kardinalität 2 B Y 3 Ulf Leser: Data Warehousing und Data Mining 76

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

Data Warehousing und Data Mining

Data Warehousing und Data Mining Data Warehousing und Data Mining Materialisierte Sichten I Optimierung mit MV Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit

Mehr

Data Warehousing und Data Mining

Data Warehousing und Data Mining Data Warehousing und Data Mining Materialisierte Sichten I Optimierung mit MV Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Materialisierte Sichten Logische Anfrageplanung mit

Mehr

Data Warehousing. Answering Queries using Views. Anfrageplanung mit materialisierten Views. Materialisierte Views mit Aggregation

Data Warehousing. Answering Queries using Views. Anfrageplanung mit materialisierten Views. Materialisierte Views mit Aggregation Data Warehousing Answering Queries using Views Materialisierte Views mit Aggregation Anfrageplanung mit materialisierten Views Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Einführung

Mehr

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

Anfragebearbeitung in einem RDBMS

Anfragebearbeitung in einem RDBMS Data Warehouses Sommersemester 2011 Melanie Herschel melanie.herschel@uni-tuebingen.de Lehrstuhl für Datenbanksysteme, Universität Tübingen Anfragebearbeitung in einem RDBMS Anfrage (SQL) Parsing: syntaktische

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

Informationsintegration

Informationsintegration Informationsintegration Local-as-View Anfrageplanung Ulf Leser Inhalt dieser Vorlesung Anfragekorrespondenzen Formale Definition Korrespondenztypen und -arten GaV erklärt Local as View Query Containment

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 Logische Optimierung Ulf Leser Wissensmanagement in der Bioinformatik Inhaltsübersicht Vorlesung Architektur Modellierung von Daten im DWH Umsetzung des multidimensionalen

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

Komplexität. Matthias Sax. 9. Juli Humboldt-Universität zu Berlin. Institut für Informatik

Komplexität. Matthias Sax. 9. Juli Humboldt-Universität zu Berlin. Institut für Informatik Komplexität Matthias Sax Humboldt-Universität zu Berlin Institut für Informatik 9. Juli 2007 Matthias Sax Komplexität 1 / 21 1 Problemstellung 2 Polynomiale Fälle Ungleichheit Anfragen in der Logik der

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

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

Informationsintegration

Informationsintegration Informationsintegration Korrespondenzen Local-as-View Semantik der Anfrageplanung Ulf Leser Wissensmanagement in der Bioinformatik Abstrakter Wenn das integrierte System ein globales Schema zur Verfügung

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

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Sommersemester 2017 Thomas Schneider AG Theorie der künstlichen Intelligenz (TdKI) http://tinyurl.com/ss17-bl Beschreibungslogik SoSe 2017 7

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

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

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

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query Languages (QL) Relationale Abfragesprachen/Relational Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell

Mehr

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken Gliederung Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Claus Weihs 14.07.2009 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der Cube-Operator 5 Implementierung

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

Datalog. Moritz Kaufmann 1. Juni Technische Universität München

Datalog. Moritz Kaufmann 1. Juni Technische Universität München Datalog Moritz Kaufmann 1. Juni 2015 Technische Universität München Datalog Grundlagen Zusammenfassung 1. Faktenbasis (EDB = extensionale Datenbasis) 2. + logische Herleitungsregeln Ableitung neuer Fakten

Mehr

Komplexitätstheorie Datenbanken und Deskriptive Komplexität

Komplexitätstheorie Datenbanken und Deskriptive Komplexität Tabellen von Elementen Komplexitätstheorie Datenbanken und Deskriptive Komplexität Helmut Veith Technische Universität München E: A B ========= 1 2 2 1 3 4 2 3 1 4 3 1 1 1 1 3 2 4 SQL: Anfragen über Tabellen

Mehr

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Uwe Ligges Informatik LS 8 22.04.2010 1 von 26 Gliederung 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der

Mehr

Wissensentdeckung in Datenbanken

Wissensentdeckung in Datenbanken Wissensentdeckung in Datenbanken SQL, Häufige Mengen Nico Piatkowski und Uwe Ligges 11.05.2017 1 von 16 Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2. Theorie der Informatik 24. Februar 2014 2. Aussagenlogik II Theorie der Informatik 2. Aussagenlogik II 2.1 Äquivalenzen Malte Helmert Gabriele Röger 2.2 Vereinfachte Schreibweise Universität Basel 24.

Mehr

Datenbanktheorie. Literatur: Abiteboul, S., R. Hull und V. Vianu, Foundations of Databases, Addison-Wesley 1995.

Datenbanktheorie. Literatur: Abiteboul, S., R. Hull und V. Vianu, Foundations of Databases, Addison-Wesley 1995. FGIS SS 2009 1. Datenbanktheorie 1. Datenbanktheorie 1 Enthaltensein-Problem konjunktiver Anfragen 2 Minimierung und Chase 3 Auswertung von Verbundausdrücken Literatur: Abiteboul, S., R. Hull und V. Vianu,

Mehr

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

Data Cubes PG Wissensmangement Seminarphase

Data Cubes PG Wissensmangement Seminarphase PG 402 - Wissensmangement Seminarphase 23.10.2001-25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit

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

Data Warehousing. Sommersemester Ulf Leser Wissensmanagement in der Bioinformatik

Data Warehousing. Sommersemester Ulf Leser Wissensmanagement in der Bioinformatik Data Warehousing Sommersemester 2004 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

Aggregatfunktionen in der Relationenalgebra?

Aggregatfunktionen in der Relationenalgebra? Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in

Mehr

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion

Mehr

Kapitel 3: Indices und Sichten

Kapitel 3: Indices und Sichten Kapitel 3: Indices und Sichten Data Warehousing und Mining - 1 Gliederung im folgenden: Klassifikation Aggregationsfunktionen, Materialisierte Sichten Grundsätzliche Alternativen beim Updaten materialisierter

Mehr

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB "Zugriff" auf Tupel mit Tupel-Variablen

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB Zugriff auf Tupel mit Tupel-Variablen Kapitel 6.3 SQL als Anfragesprache Kap. 6.3.1 Allgemeine Begriffe Identifiers: Var-Name ~ Tupel-Variable Table-Name ~ Rel., View Field-Name ~ Attribut-Bez. Key-Words: select where key is integer string

Mehr

Konjunktive Anfragen II

Konjunktive Anfragen II Azyklische Anfragen Vorlesung Datenbanktheorie Vorlesung vom Mittwoch, 21. Juni 2006 Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Letzte Vorlesung: effiziente Auswertung von azyklischen

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

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch Formale der Informatik 1 Kapitel 15 Folgerbarkeit, Äquivalenzen und Normalformen Frank Heitmann heitmann@informatik.uni-hamburg.de 8. Juni 2015 Syntax Definition (Syntax der Aussagenlogik) Mit AS AL sei

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 5 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Normalformen Atome, Literale, Klauseln Konjunktive

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1 Materialized Views Jan-Peter Timmermann DOAG Regiotreffen Hamburg: Materialized Views Seite 1 Klassische View Sind virtuelle Tabellen Erstellung nicht aufwendig, da nur ein Eintrag im Data Dictionary vorgenommen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube Data Cube 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator 5. Implementierung des Data Cube 6. Zusammenfassung und Ausblick Dank an Hanna Köpcke! 1 On-line Analytical

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

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

Künstliche Intelligenz Logische Agenten & Resolution

Künstliche Intelligenz Logische Agenten & Resolution Künstliche Intelligenz Logische Agenten & Resolution Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Inferenz-Algorithmus Wie könnte ein

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

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax funktionale Abhängigkeiten: Syntax < R U F > ein Relationenschema mit R ein Relationensymbol, U eine Menge von Attributen, F eine Menge von funktionalen Abhängigkeiten (über R und U) Eine funktionale Abhängigkeit

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung GdP12 Slide 1 Grundlagen der Programmierung Vorlesung 12 Sebastian Iwanowski FH Wedel GdP12 Slide 2 Entwurf von Algorithmen Wie klassifiziert man Algorithmen? offensichtlich nicht durch die Unterscheidung

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

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

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

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

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Datenbanken zur Entscheidungsunterstützung - Data Warehousing. Prof. Dr. T. Kudraß 1

Datenbanken zur Entscheidungsunterstützung - Data Warehousing. Prof. Dr. T. Kudraß 1 Datenbanken zur Entscheidungsunterstützung - Data Warehousing Prof. Dr. T. Kudraß 1 Einführung Zunehmender Bedarf nach Analyse aktueller und historischer Daten Identifizierung interessanter Patterns Entscheidungsfindung

Mehr

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

Lernen mit Queries. Hans Kleine Büning Institut für Informatik, Universität Paderborn Paderborn (Germany),

Lernen mit Queries. Hans Kleine Büning Institut für Informatik, Universität Paderborn Paderborn (Germany), Lernen mit Queries Hans Kleine Büning Institut für Informatik, Universität Paderborn 33095 Paderborn (Germany), E-mail: kbcsl @upb.de November 2007 1 Einführung In diesem Abschnitt beschreiben wir kurz,

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

SQL Data Manipulation Language (DML) und Query Language (QL)

SQL Data Manipulation Language (DML) und Query Language (QL) Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität

Mehr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem

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

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren: Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht

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

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

Logik Vorlesung 3: Äquivalenz und Normalformen

Logik Vorlesung 3: Äquivalenz und Normalformen Logik Vorlesung 3: Äquivalenz und Normalformen Andreas Maletti 7. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Berechenbarkeitstheorie 19. Vorlesung

Berechenbarkeitstheorie 19. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

Kap. 5 Erweiterung der Relationenalgebra für Deduktive Datenbanken

Kap. 5 Erweiterung der Relationenalgebra für Deduktive Datenbanken Kap. 5 Erweiterung der Relationenalgebra für Deduktive Datenbanken Ziel dieses kurzen Kapitels: Verbindung herstellen zwischen Logiksprachen und Relationenalgebra. Umgehen mit (rekursiven) Regeln zusätzlich

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

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

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

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

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

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 13. Prädikatenlogik Der Satz von Herbrand Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Semantische Bäume Eine klassische

Mehr

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL Anfragen an Datenbanken mit SQL Folie 28 Syntax einer Anfrage SFW-Anfrage (Select-From-Where-Anfrage) SELECT Projektion π FROM Kart. Produkt WHERE Selektion

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37 Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/37 Modellierungsaufgabe Es gibt drei Tauben und zwei Löcher. Jede Taube soll in

Mehr

7.1.2 Membership-Test - fortgesetzt

7.1.2 Membership-Test - fortgesetzt 7. Formaler Datenbankentwurf 7.1. Funktionale Abhängigkeiten Seite 1 7.1.2 Membership-Test - fortgesetzt Membership-Test: X Y F +? (Attribut-)Hülle X + von X (bzgl. F) X + = {A A V und X A F + }. Membership-Test

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

Fortsetzung: Projektion Selektion. NULL Werte

Fortsetzung: Projektion Selektion. NULL Werte Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134

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

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

Allgemeines Halteproblem Hilberts 10. Problem

Allgemeines Halteproblem Hilberts 10. Problem Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

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

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

GROUP BY, HAVING und Sichten

GROUP BY, HAVING und Sichten GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 1/12 GROUP BY HAVING Sichten Eine Tabelle studenten

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

1 Inhalt der Vorlesung B-PS1

1 Inhalt der Vorlesung B-PS1 1 Inhalt der Vorlesung B-PS1 1.1 Tag 1 1.1.1 Vormittag Geschichte der Programmiersprachen Wie viele Programmiersprachen gibt es? https://en.wikipedia.org/wiki/list_of_programming_languages Esoterische

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

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2) Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle

Mehr