SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe.

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Die Projektgruppe heißt Sie herzlichst willkommen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Telefonnummer.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Statistiken und Tabellen
Physische Datenorganisation
Sortierverfahren Richard Göbel.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Universität Karlsruhe (TH) © 2009 Univ,Karlsruhe, IPD, Prof. LockemannDBI 10 Kapitel 10 Anfragebearbeitung.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Prof. Dr. Günter Gerhardinger Soziale Arbeit mit Einzelnen und Familien Übersicht über die Lehrveranstaltung Grundlegende Bestimmungsfaktoren der Praxis.
20:00.
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
für Weihnachten oder als Tischdekoration für das ganze Jahr
Kinder- und Jugenddorf Klinge Qualitätsentwicklung Januar 2005 Auswertung der Fragebögen für die Fachkräfte in den Jugendämtern.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Addieren und Subtrahieren von Dezimalzahlen
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
Der Ablauf eines Clear Rex Klärzyklus
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Symmetrische Blockchiffren DES – der Data Encryption Standard
Retuschen.ppt Die folgende Schau zeigt die Möglichkeiten, mit PhotoDraw Digitalbilder zu retuschieren. Vergleichen Sie jeweils zwei Bildpaare durch fleissiges.
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
Szenisches Lernen Wie Theaterelemente den Unterricht bereichern
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Geschachtelte Verbindung (1) Geschachtelte Schleife, in der jeder Datensatz in Datei R (hier: BUCHUNG) mit jedem Datensatz in S (hier: FLUG) verglichen.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Zusammengestellt von OE3DSB
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Forschungsprojekt Statistik 2013 „Jugend zählt“ – Folie 1 Statistik 2013 „Jugend zählt“: Daten zur Arbeit mit Kindern und Jugendlichen.
AGOF facts & figures: Branchenpotenziale im Internet Q2 2014: Parfum & Kosmetik Basis: internet facts / mobile facts 2014-I.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Folie Einzelauswertung der Gemeindedaten
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Algebraische Optimierung (1)
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
1 Einordnung (1) Elementare Zustandsräume Konstruktoren für Zustandsräume Operatoren Datenmodell Konkreter Zustandsraum Konkrete Konsistenz- bedingungen.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
 Präsentation transkript:

SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe © Prof. Kemper, TU München (Begleitmaterial zu Kapitel 7 des Lehrbuchs)

SS 2004B. König-Ries: KuD6-2 Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht Hauptspeicherseiten u. Segmente Dateien Dateiverwaltung Geräteschnittstelle Scheduler Recovery-Verwalter Segment- u. Pufferverwaltung

SS 2004B. König-Ries: KuD6-3 betrachtete Aspekte Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht Hauptspeicherseiten u. Segmente Dateien Dateiverwaltung Geräteschnittstelle Scheduler Recovery-Verwalter Segment- u. Pufferverwaltung

SS 2004B. König-Ries: KuD6-4 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004B. König-Ries: KuD6-5 Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht Hauptspeicherseiten u. Segmente Dateien Dateiverwaltung Geräteschnittstelle Scheduler Recovery-Verwalter Segment- u. Pufferverwaltung

SS 2004B. König-Ries: KuD6-6 S.. Suchschlüssel D.. Weitere Daten V.. Verweise (SeitenNr)

SS 2004B. König-Ries: KuD6-7

SS 2004B. König-Ries: KuD6-8

SS 2004B. König-Ries: KuD6-9 Einfügen eines neuen Objekts (Datensatz) in einen B- Baum

SS 2004B. König-Ries: KuD6-10 Sukzessiver Aufbau eines B-Baums vom Grad k=

SS 2004B. König-Ries: KuD6-11 Sukzessiver Aufbau eines B-Baums vom Grad k=

SS 2004B. König-Ries: KuD6-12 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-13 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-14 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10

SS 2004B. König-Ries: KuD6-15 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10

SS 2004B. König-Ries: KuD6-16 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10 1

SS 2004B. König-Ries: KuD6-17 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10 1

SS 2004B. König-Ries: KuD6-18 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10 1

SS 2004B. König-Ries: KuD6-19 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10 1

SS 2004B. König-Ries: KuD6-20 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10 2

SS 2004B. König-Ries: KuD6-21 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-22 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-23 Sukzessiver Aufbau eines B-Baums vom Grad k= ? 10 4

SS 2004B. König-Ries: KuD6-24 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-25 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-26 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-27 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-28 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-29 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-30 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-31 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-32 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-33 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-34 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-35 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-36 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-37 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-38 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-39 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-40 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-41 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-42 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-43 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-44 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-45 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-46 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-47 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-48 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-49 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-50 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-51 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-52 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-53 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-54 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-55 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-56 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-57 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-58 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-59 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-60 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-61 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-62 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-63 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-64 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-65 Sukzessiver Aufbau eines B-Baums vom Grad k= ?

SS 2004B. König-Ries: KuD6-66 eigentlich….. geht es jetzt noch weiter. Man kann in einen Baum nämlich nicht nur einfügen, sondern auch daraus löschen. Das ist aber nicht ganz einfach, lassen wir hier mal weg. Bei Interesse können Sie das Verfahren in jedem Datenbanklehrbuch (z.B. dem von Kemper/Eickler) nachlesen.

SS 2004B. König-Ries: KuD6-67 Verwendung eines B-Baums ?

SS 2004B. König-Ries: KuD6-68 Kapitel 6: Anfragebearbeitung physische Datenstrukturen Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004B. König-Ries: KuD6-69 Implementierung der relationalen Operatoren Relationale Operatoren können durch Satzmengenverwaltung nicht direkt ausgeführt werden, da diese nur navigierende Such- und Zugriffsoperationen für individuelle Kollektionen anbietet. Anfragebearbeitung muss deshalb geeignete Operator- Implementierung auswählen, die die Funktionalität des Operators möglichst effizient erbringt. Kritisch ist vor allem Implementierung der binären Operatoren (Verbindung, Vereinigung, Durchschnitt, Differenz), da potenziell quadratische Laufzeit.

SS 2004B. König-Ries: KuD6-70 Selektion (1) Sequenzielle Selektion Schleife über alle Tupel der Relation. Ergebnis-Satzmenge kann vollständige Datensätze oder nur Verweise (Satz-Identifikatoren) auf qualifizierende Ausgangs- Datensätze enthalten. Aufwand O(|R|), wobei R Eingaberelation. Bei vertikaler Fragmentierung und Einbezug mehrerer Attribute in die Selektionsbedingung sind ggf. zusätzliche Verbindungen mit entsprechend höherer Laufzeit erforderlich.

SS 2004B. König-Ries: KuD6-71 Selektion (2) Indexbasierte Selektion Bei einfacher Selektionsbedingung der Form Attribut i Konstante kann Direktzugriff erfolgen, sofern unterliegende Datenstruktur wertbasierten Zugriff über Attribut i unterstützt. Aufwand O(log|R|) + Anzahl der Ergebnistupel, bei Selektion auf Gleichheit und Einsatz einer Hashtabelle als Indexstruktur sogar O(|1|) + Anzahl der Ergebnistupel. Bei booleschen Kombinationen von Vergleichen getrennte Auswertung der einzelnen Vergleiche und anschließend Bildung des Durchschnitts bzw. der Vereinigung der Ergebnisse.

SS 2004B. König-Ries: KuD6-72 Projektion Sequenzieller Durchlauf, Aufwand O(|R|). Bei Duplikat-Elimination (select distinct) ist anschließender Sortierlauf und weiterer sequenzieller Durchlauf zur Duplikatentfernung notwendig, Aufwand in diesem Fall O(R log|R|).

SS 2004B. König-Ries: KuD6-73 Geschachtelte Verbindung (1) Geschachtelte Schleife, in der jeder Datensatz in Datei R (hier: BUCHUNG) mit jedem Datensatz in S (hier: FLUG) verglichen wird: Iterator bu = BUCHUNG.createIterator(); Tupel tb, tf; while bu.hasNext() { tb = bu.get(); bu.next(); Iterator fl = FLUG.createIterator(); while fl.hasNext() { tf = fl.get(); fl.next(); if tb.flugNr = tf.flugNr then ERG.insert(tb tf); }

SS 2004B. König-Ries: KuD6-74 Geschachtelte Verbindung (2) Aufwand: Zahl der Satzzugriffe: |R|+(|R| |S|) = |R| (1+|S|). Seien auf einer Seite n R bzw. n S Sätze untergebracht. Dann Zahl der Hintergrundspeicherzugriffe |R|/n R (1+|S|/n S ). R sollte daher die kleinere Relation sein. Erfordert gebündelte Satzspeicherung.

SS 2004B. König-Ries: KuD6-75 Geschachtelte Verbindung mit Direktzugriff Geschachtelte Schleife, in der für jeden Datensatz in R der oder die passenden Datensätze in S anhand eines Index aufgefunden werden: Iterator bu = BUCHUNG.createIterator(); Tupel tb, tf; while bu.hasNext() { tb = bu.get (); tf := FLUG.getKey(flugNr,tb.flugNr); if erfolgreich then ERG.insert(tb tf); bu.next(); }

SS 2004B. König-Ries: KuD6-76 Geschachtelte Verbindung mit Direktzugriff Aufwand: Unterliegende Datenstruktur für S muss wertbasierten Zugriff für die in die Verbindung eingehenden Attribute unterstützen. Aufwand O (|R|) (Hash) oder O(|R| log|S|) (B*-Baum). R (äußere Schleife) sollte daher die kleinere Relation sein. Hash-Join: Zwischenrelation nach einem Hashverfahren erstellen.

SS 2004B. König-Ries: KuD6-77 Abb. externes internes Datenmodell Wesentliche Abbildungsaufgaben: Abbildung von Relationen auf Satzmengen, Übersetzung von SQL-Anfragen in interne Operator-Ausdrücke. Anfrage-Übersetzung erledigt intern: Behandlung von Sichten (Definition wird in Anfrage eingearbeitet), Überwachung von Konsistenzbedingungen (ggf. zusätzliche Operatoraufrufe), Durchsetzung der Schutzmechanismen (Rechte-Überprüfung bei Übersetzung der Anfrage). Im Folgenden zunächst Betrachtung der Abbildung von Relationen auf Satzmengen.

SS 2004B. König-Ries: KuD6-78 Übersetzung von SQL-Anfragen (1) Grundsätzliches Problem: SQL ist deklarative Sprache und gibt keinen Algorithmus vor. Intern wird aber ausführbares Programm benötigt. Prinzipielles Vorgehen zur Umsetzung deklarativ imperativ: Definiere Algebra von Operatoren, die einzelne Algorithmen kapseln und als Basis-Bausteine eines imperativen Programms dienen. Imperative Programme sind dann Bäume solcher Operatoren. Ordne jeder Grammatikregel der deklarativen Sprache Übersetzungsregel zu, die besagt, wie äquivalenter Operatorbaum zu konstruieren ist. Optimiere aus Übersetzung resultierenden Operatorbaum durch Ausnutzung von Äquivalenz-Beziehungen, die in der Algebra gelten.

SS 2004B. König-Ries: KuD6-79 Übersetzung von SQL-Anfragen (2) Konkretes Vorgehen zur Übersetzung von SQL: Als Operator-Algebra dient (zunächst) die relationale Algebra. Da Grammatik von SQL ziemlich komplex ist, werden Ausdrücke zunächst standardisiert (in bestimmte Standardformen überführt). Für Standardformen erfolgt Übersetzung anhand von Syntaxbaum. Im folgenden einige Beispiele für einfache Umformungsregeln.

SS 2004B. König-Ries: KuD6-80 Grundmuster der SQL-Übersetzung Select-Ausdruck selectA 1, A 2,..., A n fromR 1, R 2,..., R m whereB wird überführt in: A 1, A 2,..., A n ( B (R 1 R 2... R m )). Probleme: B kann geschachtelte Anfragen enthalten. R i kann ein Tabellenausdruck sein, der von R 1,..., R i-1 abhängt. group by und having-Klauseln müssen berücksichtigt werden. A 1, A 2,..., A n können Aggregatfunktionen sein.

SS 2004B. König-Ries: KuD6-81 Grundmuster der SQL-Übersetzung Select-Ausdruck selectA 1, A 2,..., A n fromR 1, R 2,..., R m whereB wird überführt in: A 1, A 2,..., A n ( B (R 1 R 2... R m )). Probleme: B kann geschachtelte Anfragen enthalten. R i kann ein Tabellenausdruck sein, der von R 1,..., R i-1 abhängt. group by und having-Klauseln müssen berücksichtigt werden. A 1, A 2,..., A n können Aggregatfunktionen sein. ignorieren wir mal…

SS 2004B. König-Ries: KuD6-82 Einfache Anfragen (2) Einfache Anfragen können rekursiv in relationale Algebra übersetzt werden: Basistabellen werden durch Referenzen auf die entsprechenden internen Dateien ersetzt. Eine Folge einfacher Anfragen in einer from-Klausel wird in das Kartesische Produkt überführt. select-Ausdruck (evt. mit Gruppierung) wird in Kombination aus Selektions- und Projektionsoperator übersetzt, die auf die übersetzte from-Klausel angewendet werden. Gruppierung wird dabei als zusätzlicher Operator übersetzt, da in der relationalen Algebra nicht direkt abbildbar. Relationale Verknüpfung (union, intersect, except, join) einfacher Anfragen wird in entsprechende relationale Operatoren übersetzt.

SS 2004B. König-Ries: KuD6-83 Übersetzung einfacher Anfragen: Beispiel Beispiel: Interne Datei FRA_FLÜGE entspricht dem SQL-Ausdruck: selectflugNr, nach, abflugszeit, ankunftszeit, ticketNr, datum fromFLUG, BUCHUNG wherevon = "FRA" andFLUG.flugNr = BUCHUNG.flugNr; Die Anfrage ist bereits einfach und kann geradewegs in den algebraischen Ausdruck flugNr,nach,abflugszeit,ankunftszeit,ticketNr,datum ( von="FRA" BUCHUNG.flugNr =FLUG.flugNr (BUCHUNG FLUG) ) übersetzt werden.

SS 2004B. König-Ries: KuD6-84 Anfrageoptimierung (1) Konkretes Vorgehen nach der Übersetzung von SQL: Erhaltener Operatorbaum wird in algebraischer Optimierungsphase gemäß Regeln der relationalen Algebra optimiert. In anschließender nicht-algebraischer Optimierungsphase werden spezifische Operator-Implementierungen ausgewählt und weitere Operatoren wie z.B. Sortierung, Index-Generierung etc. eingefügt.

SS 2004B. König-Ries: KuD6-85 Algebraische Optimierung (1) Ziel: Transformation des Operatorbaums in äquivalenten Baum, der effizienter auszuführen ist. Anwendbare Gesetze der relationalen Algebra (Auszug): Verbindung ist kommutativ und assoziativ. Selektionen und Projektionen können zerlegt und zusammengefasst werden. Projektion kommutiert mit Selektion, Verbindung und Vereinigung, solange benötigte Attribute nicht herausprojiziert werden. Selektion kommutiert mit Verbindung, Vereinigung, Differenz und Gruppierung (solange die Selektionsbedingung sich nur auf die Gruppierungsattribute bezieht). Kartesisches Produkt gefolgt von Selektion ergibt -Verbindung.

SS 2004B. König-Ries: KuD6-86 Algebraische Optimierung (2) Problem bei der Optimierung: Ausführungskosten eines bestimmten Operatorbaums lassen sich nur schwer schätzen. Benötigt werden u.a. Informationen über: Größe der Ausgangstabellen, Größe der verbleibenden Tabellen nach Selektion oder Projektion, Treffer-Rate bei einer Verbindung, Ausführungskosten von Operationen (hängen stark von Algorithmus ab, der aber in dieser Optimierungsphase noch nicht betrachtet wird). Pragmatisches Vorgehen: Verwende Kochrezepte, die mit hoher Wahrscheinlichkeit die Größe der Zwischenergebnisse reduzieren.

SS 2004B. König-Ries: KuD6-87 Algebraische Optimierung (3) Faustformeln für sinnvolle Transformationen: Führe Selektionen so früh wie möglich durch. Spalte Selektionen, die auf Attribute mehrerer Relationen Bezug nehmen, in eine Folge von Selektionen auf, die jeweils nur auf Attribute einer Relation Bezug nehmen. (Dann lässt sich nämlich die erste Regel besser anwenden.) Fasse kartesische Produkte und Selektionen möglichst zu - Verbindungen zusammen. Führe Projektionen so früh wie möglich (aber nach eventuellen Selektionen) aus. Füge ggf. zusätzliche Projektionen ein, um nicht mehr benötigte Attribute so früh wie möglich zu entfernen.

SS 2004B. König-Ries: KuD6-88 Algebraische Optimierung: Beispiel FLUG flugNr,nach,abflugszeit, ankunftszeit,ticketNr,datum von = "FRA" FLUG.flugNr = BUCHUNG.flugNr BUCHUNG von = "FRA" flugNr, nach, abflugszeit, ankunftszeit FLUGBUCHUNG flugNr, ticketNr, datum

SS 2004B. König-Ries: KuD6-89 Nicht-algebraische Optimierung Aufgabe: Auswahl geeigneter Operator-Implementierungen sowie weitere Optimierung des Operatorbaums. Handlungsmöglichkeiten (Auswahl): Einfügen von Sortierläufen, um Mischverbindung zu ermöglichen, Erzeugen eines temporären Index, um Verbindung mit Direktzugriff zu ermöglichen, Änderung der Reihenfolge von komplexen Selektionsbedingungen, Änderung der Reihenfolge von Verbindungen, Wesentliches Entscheidungskriterium: Größe der erzeugten Zwischenergebnisse.

SS 2004B. König-Ries: KuD6-90 Nicht-algebraische Optimierung: Beispiel FLUG flugNr,nach,abflugszeit, ankunftszeit,ticketNr,datum von = "FRA" FLUG.flugNr = BUCHUNG.flugNr BUCHUNG von = "FRA" INDEX (BUCHUNG) INDEX (FLUG) flugNr,nach,abflugszeit, ankunftszeit,ticketNr,datum FLUGBUCHUNG

SS 2004B. König-Ries: KuD6-91 Nicht-algebraische Optimierung: Beispiel FLUG flugNr,nach,abflugszeit, ankunftszeit,ticketNr,datum von = "FRA" FLUG.flugNr = BUCHUNG.flugNr BUCHUNG von = "FRA" flugNr, nach, abflugszeit, ankunftszeit flugNr flugNr, ticketNr, datum FLUGBUCHUNG sort