Datenbanken. Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

Größe: px
Ab Seite anzeigen:

Download "Datenbanken. Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme"

Transkript

1 Datenbanken Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Marc Stelzner (Übungen) Torben Matthias Kempfert (Tutor) Maurice-Raphael Sambale (Tutor)

2 Anfrageoptimierung Architecture of a DBMS / Course Outline Web Forms Applications SQL Interface Webformulare Anwendungen SQL-Schnittstelle Executor Ausführer Operator Operator-Evaluierer Evaluator SQL SQL-Kommandos Commands Parser Optimizer Optimierer Transaction Files Dateiverwaltungs- and Access und Zugriffsmethoden Transaktions- Methods Manager Verwalter Buffer Puffer-Verwalter Manager Sperr- Lock Manager Verwalter Verwalter Disk Space für externen Manager Speicher data Dateien files, für Daten indices, und Indexe... Recovery Wieder- herstellungs- Manager Verwalter Database Datenbank DBMS Fall 2008 Systems Group Department of Computer Science ETH Zürich 3 this dieser Teil course des Kurses 2 Figure inspired by Ramakrishnan/Gehrke: Database Management Systems, McGraw-Hill 2003.

3 Danksagung Diese Vorlesung ist inspiriert von den Präsentationen zu dem Kurs: Architecture and Implementation of Database Systems von Jens Teubner an der ETH Zürich Graphiken und Code-Bestandteile wurden mit Zustimmung des Autors (und ggf. kleinen Änderungen) aus diesem Kurs übernommen 3

4 Anfrageoptimierung Finding the Best Query Plan SELECT FROM WHERE? 1 hash Es gibt mehr als eine Art, eine Anfrage zu beantworten Welche Implementation eines Verbundoperators? answer a given query. Welche Parameter für Blockgrößen, Pufferallokation,... Automatisch which parameters einen (block Index size, aufsetzen? buffer allocation,... )? I Die The Aufgabe, task of finding den the besten execution Ausführungsplan is, in fact, zu the finden, ist holy grail of any database implementation. der heilige Gral der Datenbankimplementierung R 1 NL I We already saw that there may be more than one way to I Which one of the join operators should we pick? With Fall 2008 Systems Group Department of Computer Science ETH Zürich 161 S T 4

5 Plan Generierung Generation eines Process Ausführungsplans SQL Parser Rewriting Optimizer Plan Parser: syntaktische und I Parser: semantische syntactical/semantical Analyse analysis I Rewriting: Umschreibung: optimizations Optimierung independent of the unabhängig current database von dem state aktuellen (table sizes, availability Datenbankinhalt of indexes, etc.) (Tabellengrößen, Verfügbarkeit I Optimizer: optimizations that rely on a eines Index,...) cost model and information about the current Optimierer: database Umformungen state auf Basis eines Kostenmodells und I The resulting plan is then evaluated by Information zum DB-Zustand the system s execution engine. Resultierender Plan wird dann ausgeführt durch Ausführungsmaschine Fall 2008 Systems Group Department of Computer Science ETH Zürich 162 5

6 Impact on Performance Finding the right plan can dramatically impact performance. Auswirkungen auf die Performanz SELECT L.L PARTKEY, L.L QUANTITY, L.L EXTENDEDPRICE FROM LINEITEM L, ORDERS O, CUSTOMER C WHERE L.L ORDERKEY = O.O ORDERKEY SELECT L.L_PARTKEY, L.L_QUANTITY, L.L_EXTENDEDPRICE FROM LINEITEM L, ORDERS O, CUSTOMER C WHERE AND L.L O.OORDERKEY CUSTKEY = O.O = C.C ORDERKEY CUSTKEY AND O.O_CUSTKEY = C.C_CUSTKEY AND AND C.CC.C_NAME = = IBM Corp. 6 mio L 6 mio mio O 1 150,000 C 1 150,000 C mio O 6 mio L I In Bezogen terms of auf execution die Ausführungszeit times, these differences können die can easily mean Unterschiede seconds Sekunden versus days. vs. Tage bedeuten Fall 2008 Systems Group Department of Computer Science ETH Zürich 163 6

7 The SQL Parser Der SQL-Parser I Besides some analyses regarding the syntactical and semantical correctness of the input query, the parser creates Neben an internal der representation syntaktischen ofund the input semantischen query. Richtigkeit I einer This representation Eingabeanfrage still resembles erzeugt the der original Parser query: eine interne Repräsentation I (Anfrageblock) Each SELECT-FROM-WHERE clause is translated into a query block. query block SELECT proj-list FROM R 1, R 2,..., R n WHERE predicate-list! GROUP BY groupby-list HAVING having-list proj-list having-list grpby groupby-list predicate-list R 1 R 2 R n Each Ri can be a base relation or another query block. I Jedes R i kann eine Basisrelation oder ein anderer Anfrageblock sein Anfrageblock Fall 2008 Systems Group Department of Computer Science ETH Zürich

8 Such nach dem besten Ausführungsplan Ausgabe des Parsers wird durch Umschreibemaschine verarbeitet, die einen äquivalenten Anfrageblock generiert inding the Best Execution Plan Aufgabe des Optimierers: Finde optimalen The parser Ausführungsplan output is fed into a rewrite engine which, again, yields a tree of query blocks. Zähle alle äquivalenten Pläne auf It is then the Bestimme optimizer s die task Qualität to come (Kosten) up with eines jeden the optimalplans execution plan for the given query. Essentially, Wähle the optimizer den/die besten als finalen Plan 1. enumerates Bevor wir all fortfahren possible execution müssen wir plans, klären 2. determines Was ist the überhaupt quality (cost) ein guter of each Plan? plan, then 3. chooses the best one as the final execution plan. Before we can do so, we need to answer the question SQL Parser Rewriting Optimizer Plan 8

9 Kostenmetriken Kostenfaktoren für einen Plan Anzahl der benötigten Platten-I/Os Kosten für vorgesehene CPU-Operationen Reaktionszeit bis zum ersten Tupel für den Benutzer Gesamtausführungszeit Abschätzung der Kosten, so dass der beste ( billigste ) Plan gefunden wird, ohne ihn tatsächlich auszuführen Kritischer Faktor: Größe der Zwischenrepräsentationen Ziel: Größe von Anfrageergebnissen möglichst genau abschätzen 9

10 Result Abschätzung Size Estimation der Ergebnisgröße Consider Betrachte a query Anfrageblock corresponding für Select-From-Where-Anfrage to a simple SFW queryq Q. proj-list predicate-list R 1 R 2 R n Abschätzung der Ergebnisgröße von Q durch We can estimate the result size of Q based on die Größe der Eingabetabellen R 1, R 2,..., R n und I the size of the input tables, R die Selektivität sel(predicate-list) 1,..., R n, and I the selectivity sel(p) of the predicate predicate-list: Q = R 1 R 2... R n sel(predicate-list) Q R 1 R 2 R n sel(predicate-list). 10

11 Tabellenkardinalitäten Die Größe einer Tabelle ist über den Systemkatalog verfügbar (hier IBM DB2) db2 => SELECT TABNAME, CARD, NPAGES db2 (cont.) => FROM SYSCAT.TABLES db2 (cont.) => WHERE TABSCHEMA = 'TPCH'; TABNAME CARD NPAGES ORDERS CUSTOMER NATION 25 2 REGION 5 1 PART SUPPLIER PARTSUPP LINEITEM record(s) selected. 11

12 Abschätzung der Selektivität Estimating Selectivities... durch Induktion über die Struktur des Anfrageblocks To estimate the selectivity of a predicate, we look at its structure. column = value sel( ) = 1 / I if there is an index I on column 1/10 otherwise sonst column 1 = column >< max{ I 1, I 2 } if there are indexes on both cols. 1 sel( ) = I >: k if there is an index only on col. k 1/10 otherwise sonst p 1 AND p 2 sel( ) =sel(p 1 ) sel(p 2 ) falls es einen Index I auf Attribut column gibt falls es Indexe auf beiden Spalten gibt falls es einen Index nur auf column gibt p 1 OR p 2 sel( ) =sel(p 1 )+sel(p 2 ) sel(p 1 ) sel(p 2 ) Fall 2008 Systems Group Department of Computer Science ETH Zürich

13 Verbesserung der Selektivitätsabschätzung Hinter den obigen Regeln stecken Annahmen Gleichverteilung der Datenwerte in einer Spalte Unabhängigkeit zwischen einzelnen Prädikaten Annahmen nicht immer gerechtfertigt Sammlung von Datenstatistiken (offline) Speicherung im Systemkatalog IBM DB2: RUNSTATS ON TABLE Meistverwendet: Histogramme 13

14 Histogramme SELECT SEQNO, COLVALUE, VALCOUNT FROM SYSCAT.COLDIST WHERE TABNAME = 'LINEITEM' AND COLNAME = 'L_EXTENDEDPRICE' AND TYPE = 'Q'; SEQNO COLVALUE VALCOUNT SYSCAT.COLDIST enthält Informationen wie n-häufigste Werte (und der Anzahl) Anzahl der verschiedenen Werte pro Histogrammrasterplatz Tatsächlich können Histogramme auch absichtlich gesetzt werden, um den Optimierer zu beeinflussen 14

15 Verbund-Optimierung Anfrage übersetzt in Graph von Anfrageblöcken Join Sieht Optimization wie ein mehrfaches kartesischen Produkt aus mit einer zusätzlichen Selektion oben drauf I We ve now translated the query into a graph of query blocks. I Abschätzung Query der blocks Kosten essentially eines are a multi-way Ausführungsplans Cartesian product with a number of selection predicates on top. Abschätzung I We can estimate der the Ergebnisgrößen cost of a given execution mit den plan. Kosten von einzelnen I Use Verbundalgorithmen result size estimates in combination für jeden with Block the cost for individual join algorithms in the previous chapter. Auflistung der möglichen Ausführungspläne, d.h. We are now ready to enumerate all possible execution plans, i.e., alle 3-Wege-Verbundkombinationen für jeden Block all possible 3-way join combinations for each query block T 1 T 1 S 1 R 1 S 1 R R S S R R T S T T R T S R 1 S 1 R 1 S 1 T 1 T 1 S T R T T S T S R S S R Fall 2008 Systems Group Department of Computer Science ETH Zürich

16 Suchraum Search Der sich Space ergebende Suchraum ist enorm groß: Schon The resulting bei 4 search Relationen space is enormous: ergeben sich 120 Möglichkeiten number of relations n C n 1 join trees , , , ,430 17,297, ,796 17,643,225,600 Noch I And nicht we haven t berücksichtigt: yet even considered Anzahl the use v der of kverschiedenen different join algorithms (yielding another factor of k Verbundalgorithmen (n 1) )! Fall 2008 Systems Group Department of Computer Science ETH Zürich

17 Wie viele Kombinationen gibt es? How Many Verbund Such über Combinations n+1 Relationen Are R 1, There?..., R n+1 benötigt n How Many Such Combinations Are There? I binäre A join over Verbunde n + 1 relations R 1,...,R n+1 requires n binary joins. I I Its root-level A join over operator n + 1 relations joins sub-plans R 1,...,R n+1 of requires k and n binary k 1joins. I Its root-level operator joins sub-plans of k and n k 1 join Der operators Wurzeloperator (0 apple k apple n 1): verbindet k und n-k-1 Verbundoperatoren operators (0 apple k apple n (0 1): k n-1) 1 1 k joins n k 1 joins k Verbunde k joins n k 1 joins R 1,...,R R 1,...,R k R k+1 k R,...,R k+1,...,r n+1 n+1 n - k - Verbunde I Sei LetI C i Let be i die Cthe i beanzahl number the number of der possibilities ofmöglichkeiten, to toconstruct um a binary einen Binärbaum tree of tree i inner of i inner nodes von nodes i (join inneren (join operators): Knoten (Verbunde) zu konstruieren: n 1X n 1 X C C n = C k C n k 1. n = C k C n k 1. k=0 k=0 Fall 2008 Systems Group Department of Computer Science ETH Zürich 173 Fall 2008 Systems Group Department of Computer Science ETH Zürich

18 Catalan Numbers Catalan-Zahlen This recurrence relation is satisfied by Catalan numbers: Rekurrenzgleichung erfüllt durch Catalan-Zahlen X n 1 C n = C k C n k 1 = (2n)! (n + 1)!n!, k=0 zur Beschreibung der Anzahl der geordneten Binärbäume mit n+1 Blättern describing the number of ordered binary trees with n + 1 leaves. For each of these trees, we can permute the input relations R 1,...,R n+1, leading to Für jeden dieser Bäume können die Eingaberelationen R 1,..., R n+1 permutiert werden, und es ergeben sich (2n)! (n + 1)!n! (2n)! (n + 1)! = n! Möglichkeiten für einen (n+1)-wege-verbund possibilities to evaluate an (n + 1)-way join. 18 Fall 2008 Systems Group Department of Computer Science ETH Zürich 174 Fall 2008 Systems Group Department of Computer Science ETH Zürich 174

19 Suchraum Search Space Der sich ergebende Suchraum ist enorm groß: The resulting search space is enormous: Anzahl number der ofrelationen relations n C n 1 #Verbundbäume join trees , , , ,430 17,297, ,796 17,643,225,600 Noch I And nicht we haven t berücksichtigt: yet even considered Anzahl the use v der of kverschiedenen different Verbundalgorithmen join algorithms (yielding (ergibt anotherneuen factor offaktor k (n 1) )! v (n-1) ) Fall 2008 Systems Group Department of Computer Science ETH Zürich

20 Dynamische Programmierung Traditioneller Ansatz, einen großen Suchraum zu beherrschen (siehe AuD-Vorlesung) Bestimme günstigsten Plan für n-wege-verbund in n Durchgängen In jedem Durchgang k bestimme den besten Plan für alle k-relationen-unterabfragen Konstruiere die Pläne aus Durchgang k aus den besten i-relationen- und (k-i)-relationen-unterplänen aus früheren Durchgängen (1 i < k) Annahme: Zur Bestimmung des optimalen globalen Plans ist es ausreichend, die optimalen Pläne der Unterabfragen zu betrachten 20

21 Beispiel: 4-Wege-Verbund Example: Four-Way Join Pass 1 (best 1-relation plans) Find the best access path to each of the R i individually (considers index scans, full table scans). Pass 2 (best 2-relation plans) For each pair of tables R i and R j, determine the best order to join R i and R j (R i 1 R j or R j 1 R i?): optplan({r i, R j }) best of R i 1 R j and R j 1 R i.! 12 plans to consider. Pass 3 (best 3-relation plans) For each triple of tables R i, R j, and R k, determine the best three-table join plan, using sub-plans obtained so far: optplan({r i, R j, R k }) best of R i 1 optplan({r j, R k }), optplan({r j, R k }) 1 R i, R j 1 optplan({r i, R k }),....! 24 plans to consider. Fall 2008 Systems Group Department of Computer Science ETH Zürich

22 Beispiel (Fortsetzung) Example (cont.) Pass 4 (best 4-relation plan) For each set of four tables R i, R j, R k, and R l, determine the best four-table join plan, using sub-plans obtained so far: optplan({r i, R j, R k, R l }) best of R i 1 optplan({r j, R k, R l }), optplan({r j, R k, R l }) 1 R i, R j 1 optplan({r i, R k, R l }),..., optplan({r i, R j }) 1 optplan({r k, R l }),....! 14 plans to consider. Insgesamt: 50 (Unter-)Pläne betrachtet (anstelle von possible 120 four-way join plans; % slide 175). 120 möglichen 4-Wege-Verbundplänen, siehe Tabelle) I Overall, we looked at only 50 (sub-)plans (instead of the I All decisions required the evaluation of simple sub-plans Alle only Entscheidungen (no need to re-evaluate basieren the interior auf vorher of optplan( )). bestimmten Unterplänen (keine Neuevaluierung von Plänen) Fall 2008 Systems Group Department of Computer Science ETH Zürich

23 Algorithmus zur Planbestimmung Dynamic Programming Algorithm Function: find join tree dp (q(r 1,...,R n )) for i = 1 to n do optplan({r i }) access plans (R i ) ; prune plans (optplan({r i })) ; for i = 2 to n do foreach S {R 1,...,R n } such that S = i do optplan(s)? ; foreach O S do optplan(s) optplan(s) [ possible joins (optplan(o), optplan(s \ O)); prune plans (optplan(s)) ; return optplan({r 1,...,R n }) ; I possible joins (R, S) enumerates the possible joins possible_joins(r, S) enumeriert alle möglichen Pläne zwischen R und S (geschachtelte-schleifen-verbund, between R and S (nested loops Misch-Verbund, join, merge...) join, etc.). I prune plans (set) discards all but the best plan from set. prune_plan(set) eliminiert alle außer den besten Plänen aus set Fall 2008 Systems Group Department of Computer Science ETH Zürich

24 Diskussion: Dynamische Programmierung finf_join_tree_dp() eliminiert Plankandidaten früh Im Beispiel wird in Durchgang 2 der Suchraum um den Faktor 2 und in Durchgang 3 um den Faktor 6 reduziert Heuristiken helfen, den Suchraum weiter zu reduzieren Vermeide kartesische Produkte Erzeuge links-tiefe Pläne (s. nächste Folie) Abwägung der Optimalität der Plan vs. Suchdauer nach dem optimalen Plan DB2 UDB: SET CURRENT QUERY OPTIMIZATION = n 24

25 Links-tiefe vs. buschige Verbundplan-Bäume Der Plangenerierungsalgorithmus Left/Right-Deep vs. Bushy Join exploriert Trees alle möglichen The algorithm on slide 179 explores all possible shapes a join tree Formen von Verbundplänen could take: left-deep bushy (everything else) right-deep Implementierte Actual systems Systeme often prefergenerieren left-deep join trees. meist 11 links-tiefe Pläne 1 I The inner relation is always a base relation. Die innere Relation ist immer eine Basisrelation I Allows the use of index nested loops join. I Easier to implement in a pipelined fashion. Bevorzugung der Verwendung von Index-Verbunden 11 The seminal System R prototype, e.g., considered only left-deep plans. Gut geeignet für die Verwendung von Pipeline- Verarbeitungsprinzipien Fall 2008 Systems Group Department of Computer Science ETH Zürich So z.b. der Prototyp von System R (IBM) 25

26 Verbund über mehrere Relationen Dynamische Programmierung erzeugt immer noch exponentiellen Aufwand Zeit: O(3 n ) Platz: O(2 n ) Das kann zu teuer sein... für Verbunde mit mehreren Relationen (10-20 und mehr) für einfache Anfragen über gut-indizierte Daten, für die ein sehr guter Plan einfach zu finden wäre Neue Plangenerierungsstrategie: Greedy-Join-Enumeration 26

27 Greedy-Join-Enumeration Greedy Join Enumeration Function: find join tree greedy (q(r 1,...,R n )) worklist? ; for i = 1 to n do worklist worklist [ best access plan (R i ) ; for i = n downto 2 do // worklist = {P 1,...,P i } find P j, P k 2 worklist and 1... such that cost(p j 1... P k ) is minimal ; worklist worklist \ P j, P k [ P j 1... P k ; // worklist = {P 1 } return single plan left in worklist ; Wähle I In each in jeder iteration, Iteration chooseden the cheapest kostengünstigsten join that can be Plan, made der über over den theverbliebenen remaining sub-plans. Unterplänen zu realisieren ist I Observe that find join tree greedy () operates similar to finding the optimum binary tree for Huffman coding. 27 Fall 2008 Systems Group Department of Computer Science ETH Zürich 185

28 Diskussion Greedy-Join-Enumeration Zeitkomplexität: O(n 3 ) Schleife: O(n) Pro Durchgang alle Paare von verbliebene Plänen betrachtet: O(n 2 ) Andere Verbund-Generierungstechniken: Randomisierte Algorithmen Zufälliges Umschreiben zusammen mit Hill-Climbing und Simulated Annealing Genetische Algorithmen Exploration des Suchraums durch Kombination von Plänen (Nachfolger) und Abänderung bestimmter Merkmale (Mutation) 28

29 Physikalische Planeigenschaften Betrachten wir die Anfrage, SELECT O.O ORDERKEY, L.L EXTENDEDPRICE FROM ORDERS O, LINEITEM L WHERE O.O ORDERKEY = L.L ORDERKEY in der Tabelle ORDERS mit einem geclusterten Index OK_IDX auf der Spalte O_ORDERKEY versehen ist Mögliche Pläne für ORDERS Absuchen der ganzen Tabelle: #I/Os = N ORDERS Absuchen des Index: #I/Os = N OK_IDX + N ORDERS Mögliche Pläne für LINEITEM Absuchen der ganzen Tabelle: #I/Os = N LINEITEM 29

30 Physikalische Planeigenschaften Absuchen der Tabellen ist jeweils günstigster Plan Verbund-Planer wird diesen Plan als günstigsten 1-Relationenplan in Durchgang 1 wählen 1 Für den Verbund beider Ausgaben gibt es: Geschachtelte-Schleifen-Verbund Hash-Verbund Sortierung + Misch-Verbund Hash-Verbund und Misch-Verbund meist bevorzugt Kosten hierfür ca. 2 (N ORDERS + N LINEITEM ) Ergibt Gesamtkosten: N ORDERS + N LINEITEM + 2 (N ORDERS + N LINEITEM ) 30 1 Dynamische Programmierung und Greedy-Join unterscheiden sich hier nicht

31 Verbesserung des Plans Ein besserer Plan liegt nahe 1. Verwende Absuchen des Index als Zugriff auf ORDERS (hierdurch ist die Ausgabe sortiert nach O_ORDERKEY) 2. Sortierte LINEITEM und 3. Berechne Verbund mittels Mischen Gesamtkosten: (N OK_IDX + N ORDERS ) + 2 N LINEITEM 1. 2./3. Obwohl teurer als Einzelplan, günstiger im Gesamtgefüge 31

32 Interessante Ordnungen Vorteil des Index-basierte Zugriffs of ORDERS: Gute physikalische Eigenschaften Optimierer verwenden Annotation für Kandidatenpläne, um auch dieses zu berücksichtigen System R hat Konzept der interessanten Ordnungen eingeführt, bestimmt durch Angaben ORDER BY oder GROUP BY in der Anfrage Verbundattribute für weitere Verbunde (Misch-Verbund) In prune_plans(), führe günstigsten ungeordneten Plan und günstigsten Plan mit interessanter Ordnung 32

33 Anfrageumschreibung Verbundoptimierung nimmt Menge von Relationen und Menge von Verbundprädikaten und bestimmt die beste Verbundreihenfolge Durch Umschreiben von Anfragegraphen im Vorwege Verbesserung der Effektivität der Optimierung Anfrageumschreiber verwendet (heuristische) Regeln, ohne den Datenbankzustand zu berücksichtigen Umschreibung von Prädikaten Entschachtelung von Anfragen 33

34 Prädikatsvereinfachung Beispiel: Schreibe SELECT * FROM LINEITEM L WHERE L.L TAX * 100 < 5 um in SELECT * FROM LINEITEM L WHERE L.L TAX < 0.05 Prädikatsvereinfachung ermöglicht Verwendung von Indexen und Vereinfacht die Erkennung von effizienten Verbundimplementierungen 34

35 Zusätzliche Verbundprädikate Implizite Verbundprädikate wie in SELECT * FROM A, B, C WHERE A.a = B.b AND B.b = C.c können explizit gemacht werden SELECT * FROM A, B, C WHERE A.a = B.b AND B.b = C.c AND A.a = C.c Hierdurch werden Pläne möglich wie (A C) B Vorher schien (A C) ein kartesisches Produkt zu sein 35

36 Geschachtelte Anfragen SQL bietet viele Wege, geschachtelte Anfrage zu schreiben Unkorrelierte Unteranfragen SELECT * FROM ORDERS O WHERE O_CUSTKEY IN (SELECT C_CUSTKEY FROM CUSTOMER WHERE C_NAME = IBM Corp. ) Korrelierte Unteranfragen SELECT * FROM ORDERS O WHERE O_CUSTKEY IN (SELECT C.C_CUSTKEY FROM CUSTOMER WHERE C.C_ACCTBAL = O.O_TOTALPRICE) 36

37 Anfrageentschachtelung Schachtelung kann teuer sein Ein unkorrelierte geschachtelte Anfrage braucht allerdings nicht immer wieder ausgewertet zu werden Häufig wird Schachtelung nur verwendet, um einen Verbund auszudrücken (oder einen Semi-Verbund) Anfrageumschreiber kann solche Verwendung entdecken und den Verbund explizit machen Dadurch kann Anfrageschachtelung durch Verbundoptimierung behandelt werden Won Kim. On Optimizing an SQL-like Nested Query. ACM TODS, vol. 7, no. 3,

38 Zusammenfassung Anfrageparser Übersetzung der Anfrage in Anfrageblock Umschreiber Logische Optimierung (unabhängig vom DB-Inhalt) Prädikatsvereinfachung Anfrageentschachtelung Verbundoptimierung Bestimmung des günstigsten Plan auf Basis eines Kostenmodells (I/O-Kosten, CPU-Kosten) und Statistiken (Histogramme) sowie Physikalischen Planeigenschaften (interessante Ordnungen) Dynamische Programmierung, Greedy-Join 38

39 Beim nächsten Mal... Architecture of a DBMS / Course Outline Web Forms Applications SQL Interface Webformulare Anwendungen SQL-Schnittstelle Executor Ausführer Operator Operator-Evaluierer Evaluator SQL SQL-Kommandos Commands Parser Optimizer Optimierer Transaction Files Dateiverwaltungs- and Access und Zugriffsmethoden Transaktions- Methods Manager Verwalter Buffer Puffer-Verwalter Manager Sperr- Lock Manager Verwalter Verwalter Disk Space für externen Manager Speicher data Dateien files, für Daten indices, und Indexe... Recovery Wieder- herstellungs- Manager Verwalter Database Datenbank DBMS Fall 2008 Systems Group Department of Computer Science ETH Zürich 3 this dieser Teil course des Kurses 39 Figure inspired by Ramakrishnan/Gehrke: Database Management Systems, McGraw-Hill 2003.

Datenbanken. Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme. Dennis Heinrich (Übungen)

Datenbanken. Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme. Dennis Heinrich (Übungen) Datenbanken Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Dennis Heinrich (Übungen) Anfrageoptimierung Web Forms Applications SQL Interface Webformulare Anwendungen SQL-Schnittstelle

Mehr

Datenbanken Anfrageoptimierung

Datenbanken Anfrageoptimierung Datenbanken Anfrageoptimierung Dr. Özgür Özçep Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Felix Kuhr (Übungen) und studentische Tutoren Anfrageoptimierung Web Forms Applications

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

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

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Algorithms & Datastructures Midterm Test 1

Algorithms & Datastructures Midterm Test 1 Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank SwissICT 2011 am Fallbeispiel einer Schweizer Bank Fritz Kleiner, fritz.kleiner@futureways.ch future ways Agenda Begriffsklärung Funktionen und Aspekte eines IT-Servicekataloges Fallbeispiel eines IT-Servicekataloges

Mehr

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen QuickStart Guide to read a transponder with a scemtec TT reader and software UniDemo Voraussetzung: - PC mit der

Mehr

https://portal.microsoftonline.com

https://portal.microsoftonline.com Sie haben nun Office über Office365 bezogen. Ihr Account wird in Kürze in dem Office365 Portal angelegt. Anschließend können Sie, wie unten beschrieben, die Software beziehen. Congratulations, you have

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Kybernetik Intelligent Agents- Action Selection

Kybernetik Intelligent Agents- Action Selection Kybernetik Intelligent Agents- Action Selection Mohamed Oubbati Institut für Neuroinformatik Tel.: (+49) 731 / 50 24153 mohamed.oubbati@uni-ulm.de 26. 06. 2012 Intelligent Agents Intelligent Agents Environment

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

Listening Comprehension: Talking about language learning

Listening Comprehension: Talking about language learning Talking about language learning Two Swiss teenagers, Ralf and Bettina, are both studying English at a language school in Bristo and are talking about language learning. Remember that Swiss German is quite

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen

Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen Winter 2009/10 Melanie Herschel Willhelm-Schickard-Institut für Informatik Kapitel 1 Einführung Vorstellung Überblick Organisatorisches

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Datenbanksysteme 2 Frühjahr-/Sommersemester 2014 28. Mai 2014

Datenbanksysteme 2 Frühjahr-/Sommersemester 2014 28. Mai 2014 Lehrstuhl für Praktische Informatik III Prof. Dr. Guido Moerkotte Email: moer@db.informatik.uni-mannheim.de Marius Eich Email: marius.eich@uni-mannheim.de Datenbanksysteme 2 8. Übungsblatt Frühjahr-/Sommersemester

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

Wenn Russland kein Gas mehr liefert

Wenn Russland kein Gas mehr liefert Ergänzen Sie die fehlenden Begriffe aus der Liste. abhängig Abhängigkeit bekommen betroffen bezahlen Gasspeicher Gasverbrauch gering hätte helfen importieren liefert 0:02 Pläne politischen Projekte Prozent

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Das neue Volume-Flag S (Scannen erforderlich)

Das neue Volume-Flag S (Scannen erforderlich) NetWorker 7.4.2 - Allgemein Tip 2, Seite 1/5 Das neue Volume-Flag S (Scannen erforderlich) Nach der Wiederherstellung des Bootstraps ist es sehr wahrscheinlich, daß die in ihm enthaltenen Informationen

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up Contents 5d 5e 5f 5g Interaction Flow / Process Flow Structure Maps Reference Zone Wireframes / Mock-Up 5d Interaction Flow (Frontend, sichtbar) / Process Flow (Backend, nicht sichtbar) Flow Chart: A Flowchart

Mehr

WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

WEBINAR@LUNCHTIME THEMA: SAS STORED PROCESSES - SCHNELL GEZAUBERT HELENE SCHMITZ WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training

Mehr

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number. Magic Figures Introduction: This lesson builds on ideas from Magic Squares. Students are introduced to a wider collection of Magic Figures and consider constraints on the Magic Number associated with such

Mehr

Efficient Design Space Exploration for Embedded Systems

Efficient Design Space Exploration for Embedded Systems Diss. ETH No. 16589 Efficient Design Space Exploration for Embedded Systems A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Sciences presented by

Mehr

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

Data Structures and Algorithm Design

Data Structures and Algorithm Design - University of Applied Sciences - Data Structures and Algorithm Design - CSCI 340 - Friedhelm Seutter Institut für Angewandte Informatik Contents 1 Analyzing Algorithms and Problems 2 Data Abstraction

Mehr

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software Artologik EZ-Equip Plug-in für EZbooking version 3.2 Artologik EZbooking und EZ-Equip EZbooking, Ihre webbasierte Software zum Reservieren von Räumen und Objekten, kann nun durch die Ergänzung um ein oder

Mehr

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

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Bayesian Networks. Syntax Semantics Parametrized Distributions Inference in Bayesian Networks. Exact Inference. Approximate Inference

Bayesian Networks. Syntax Semantics Parametrized Distributions Inference in Bayesian Networks. Exact Inference. Approximate Inference Syntax Semantics Parametrized Distributions Inference in Exact Inference Approximate Inference enumeration variable elimination stochastic simulation Markov Chain Monte Carlo (MCMC) 1 Includes many slides

Mehr

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen: 6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)

Mehr

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

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

Titelbild1 ANSYS. Customer Portal LogIn

Titelbild1 ANSYS. Customer Portal LogIn Titelbild1 ANSYS Customer Portal LogIn 1 Neuanmeldung Neuanmeldung: Bitte Not yet a member anklicken Adressen-Check Adressdaten eintragen Customer No. ist hier bereits erforderlich HERE - Button Hier nochmal

Mehr

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

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule Deggendorf Platzziffer:... Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten

Mehr

CarMedia. Bedienungsanleitung Instruction manual. AC-Services Albert-Schweitzer-Str.4 68766 Hockenheim www.ac-services.eu info@ac-services.

CarMedia. Bedienungsanleitung Instruction manual. AC-Services Albert-Schweitzer-Str.4 68766 Hockenheim www.ac-services.eu info@ac-services. CarMedia Bedienungsanleitung Instruction manual AC-Services Albert-Schweitzer-Str.4 68766 Hockenheim www.ac-services.eu info@ac-services.eu DE Inhaltsverzeichnis 1. Allgemeine Hinweise... 3 2. CarMedia...

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 10. Monitoring AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Momentaufnahmen Momentaufnahmen

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Daten am USB Stick mit TrueCrypt schützen

Daten am USB Stick mit TrueCrypt schützen Daten am USB Stick mit TrueCrypt schützen Das Programm installieren und einrichten ACHTUNG: In der nachfolgenden Anleitung wird der USB Stick immer mit USB-STICK (H:) angegeben! Diese Bezeichnung wurde

Mehr

Therefore the respective option of the password-protected menu ("UPDATE TUBE DATA BASE") has to be selected:

Therefore the respective option of the password-protected menu (UPDATE TUBE DATA BASE) has to be selected: ENGLISH Version Update Dräger X-act 5000 ("UPDATE TUBE DATA BASE") The "BARCODE OPERATION AIR" mode is used to automatically transfer the needed measurement parameters to the instrument. The Dräger X-act

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Erste Schritte HMT moodle

Erste Schritte HMT moodle Erste Schritte HMT moodle Bitte melden Sie sich zunächst unter folgendem Link erstmals im System an: HMT moodle Es erscheint folgende Anmeldemaske: Dort bitte Benutzernummer (der Bibliothekskarte) und

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Log Parser 2.0 HackerScan.js. Beschreibung. Anforderungen. Unterstützte Plattformen. Script-Code. Zurück zur Übersichtsseite

Log Parser 2.0 HackerScan.js. Beschreibung. Anforderungen. Unterstützte Plattformen. Script-Code. Zurück zur Übersichtsseite Zurück zur Übersichtsseite Log Parser 2.0 HackerScan.js (Engl. Originaltitel: HackerScan.js) Beschreibung Dieses Script sucht in allen IIS-Protokolldateien (IIS-, HTTPError- und UrlScan-Protokolldateien)

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

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Windows Server 2012 R2 Essentials & Hyper-V

Windows Server 2012 R2 Essentials & Hyper-V erklärt: Windows Server 2012 R2 Essentials & Hyper-V Windows Server 2012 R2 Essentials bietet gegenüber der Vorgängerversion die Möglichkeit, mit den Boardmitteln den Windows Server 2012 R2 Essentials

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori

Häufige Item-Mengen: die Schlüssel-Idee. Vorlesungsplan. Apriori Algorithmus. Methoden zur Verbessung der Effizienz von Apriori Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

SJ OFFICE - Update 3.0

SJ OFFICE - Update 3.0 SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport

Mehr

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich? KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Event Stream Processing & Complex Event Processing. Dirk Bade

Event Stream Processing & Complex Event Processing. Dirk Bade Event Stream Processing & Complex Event Processing Dirk Bade Die Folien sind angelehnt an eine Präsentation der Orientation in Objects GmbH, 2009 Motivation Business Activity Monitoring Sammlung, Analyse

Mehr

Der SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1

Der SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Der SAS DataStep und die Prozedur SQL 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Zahlen und Fakten auf einen Blick Firmensitz: Geschäftsstellen: Branchenerfahrung: Umsatz: Anzahl Mitarbeiter:

Mehr

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

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

WAS IST DER KOMPARATIV: = The comparative

WAS IST DER KOMPARATIV: = The comparative DER KOMPATATIV VON ADJEKTIVEN UND ADVERBEN WAS IST DER KOMPARATIV: = The comparative Der Komparativ vergleicht zwei Sachen (durch ein Adjektiv oder ein Adverb) The comparative is exactly what it sounds

Mehr