Implementierung von Datenbanken und Informationssystemen

Größe: px
Ab Seite anzeigen:

Download "Implementierung von Datenbanken und Informationssystemen"

Transkript

1 Anwendersoftware (AS) Implementierung von Datenbanken und Informationssystemen Kapitel 8: Tabellenoperationen Teile dieses Foliensatzes beruhen auf ähnlichen Vorlesungen, gehalten von Prof. Dr. T. Härder am Fachbereich Informatik der Universität Kaiserslautern und Prof. Dr. B. Mitschang / Dr. Holger Schwarz am Fachbereich Informatik der Universität Stuttgart. Für das vorliegende Material verbleiben alle echte (insbesondere für den Nachdruck) bei den Autoren. 8. Tabellenoperationen Implementierung Ziele Planoperatoren auf einer Tabelle Planoperatoren auf mehreren Tabellen Verbundalgorithmen Nested-Loop-Verbund Sort-Merge-Verbund Hash-Verbund (classic hashing, simple hash join, hybrid hash join) Nutzung von typübergreifenden Zugriffspfaden verteilte Verbundalgorithmen weitere binäre Operationen (Mengenoperationen) Quelle: [Mit95] 2

2 Ziele Ziele Systematische Entwicklung von relationalen Verarbeitungskonzepten für eine oder mehrere Tabellen ealisierung von Planoperatoren Operationen der elationenalgebra unäre Operationen: π, σ binäre Operationen:,,,,, Planoperatoren SQL-Anfragen enthalten logische Ausdrücke, die auf die Operationen der elationenalgebra zurückgeführt werden können. Sie werden in Zugriffspläne umgesetzt. So genannte Planoperatoren implementieren diese logischen Operationen. 3 Planoperatoren für Selektion und Projektion Allgemeine Auswertungsmöglichkeitenfür die Selektion: direkter Zugriff über ein gegebenes TID, über ein Hash-Verfahren oder eine ein- bzw. mehrdimensionale Indexstruktur sequentielle Suche in einer Tabelle Suche über eine Indexstruktur (Indextabelle, Bitliste) Auswahl mit Hilfe mehrerer Verweislisten, wobei mehr als eine Indexstruktur ausgenutzt werden kann Suche über eine mehrdimensionale Indexstruktur Projektion wird typischerweise in Kombination mit Sortierung, Selektion oder Verbund durchgeführt 4

3 Planoperatoren für die Selektion Nutzung des Scan-Operators Definition von Start- und Stopp- Bedingung Definition von einfachen Suchargumenten (Simple Search Argument) Definition der Suchrichtung: NEXT/PIO, FIST/LAST, n-th Weitere Planoperatoren in Kombination mit der Selektion Sortierung Gruppenbildung (siehe Sortieroperator) spezielle Operatoren z.b. in Data- Warehouse-Anwendungen zur Gruppen- und Aggregatbildung (CUBE-Operator) 5 Planoperatoren für die Selektion Tabellen-Scan (elationen-scan) immer möglich SCAN-Operator implementiert die Selektionsoperation Index-Scan Auswahl des kostengünstigsten Index Spezifikation des Suchbereichs (Start-, Stopp-Bedingung) k-d-scan Auswertung mehrdimensionaler Suchkriterien Nutzung verschiedener Auswertungsrichtungen durch Navigation I Tabelle TID-Algorithmus Auswertung aller brauchbaren" Indexstrukturen Auffinden von variabel langen TID-Listen Boolesche Verknüpfung der einzelnen Listen Zugriff zu den Tupeln entsprechend der Trefferliste I 1 I 2 TID-Listen 6

4 Planoperatoren für Modifikationen Änderungen sind in SQL mengenorientiert, aber auf eine Tabelle beschränkt INSET, DELETE und UPDATE werden direkt auf die entsprechenden Operationen der Speicherungsstrukturen abgebildet automatische Abwicklung von Wartungsoperationen zur Aktualisierung von Zugriffspfaden, zur Gewährleistung von Cluster-Bildung und eorganisation usw. Durchführung von Logging- und ecovery-maßnahmen usw. 7 Planoperatoren auf mehreren Tabellen SQL erlaubt komplexe Anfragen über k Tabellen Ein-Variablen-Ausdrücke: beschreiben Bedingungen für die Auswahl von Elementen aus einer Tabelle. Zwei-Variablen-Ausdrücke: beschreiben Bedingungen für die Kombination von Elementen aus zwei Tabellen. k-variablen-ausdrücke: werden typischerweise in Ein- und Zwei-Variablen-Ausdrücke zerlegt und durch entsprechende Planoperatoren ausgewertet 8

5 Planoperatoren auf mehreren Tabellen Allgemeine Auswertungsmöglichkeiten: Schleifeniteration (nested iteration) für jedes Element der äußeren Tabelle a Durchlauf der inneren Tabelle i - O(N a N i + N a ) - wichtigste Anwendung: nested loops join Mischmethode (merge method) sequentieller, schritthaltender Durchlauf beider Tabellen 1, 2 - O(N 1 + N 2 ) - ggf. zusätzliche Sortierkosten - wichtigste Anwendung: merging join Hash-Methode (hashing) Partitionierung der inneren Tabelle i. Laden der p Partitionen in eine Hash- Tabelle HT im HSP. Probing der äußeren Tabelle a oder ihrer entsprechenden Partitionen mit HT: - O(p N a + N i ) 9 Planoperatoren auf mehreren Tabellen n-wege-verbunde Zerlegung in n-1 Zwei-Wege-Verbunde Wahl der Verbundreihenfolge - maximal n! verschiedene eihenfolgen - Anzahl der Verbundreihenfolgen ist abhängig von den gewählten Verbundattributen - Optimale eihenfolge abhängig von Größe der Operanden Planoperatoren passende Sortierordnungen für Verbundattribute Einsatz von Pipelining-Techniken, etc. - Heuristic: Größe der Zwischenergebnisse minimieren Wahl des Planoperators für die einzelnen Zwei-Wege-Verbunde - Kosten der Operation abhängig von Größe der Operanden passende Sortierordnungen, etc. Mengenoperationen analoge Vorgehensweise 10

6 Planoperatoren auf mehreren Tabellen Einige Verbundreihenfolgen mit Zwei-Wege-Verbunden (n=5) Ergebnis Ergebnis Ergebnis left-deep bushy right-deep Tabellenoperationen Implementierung Ziele Planoperatoren auf einer Tabelle Planoperatoren auf mehreren Tabellen Verbundalgorithmen Nested-Loop-Verbund Sort-Merge-Verbund Hash-Verbund (classic hashing, simple hash join, hybrid hash join) Nutzung von typübergreifenden Zugriffspfaden verteilte Verbundalgorithmen weitere binäre Operationen (Mengenoperationen) 12

7 Planoperatoren für den Verbund Verbund satztypübergreifende Operation: gewöhnlich sehr teuer häufige Nutzung: wichtiger Optimierungskandidat typische Anwendung: Gleichverbund allgemeiner Θ-Verbund selten Implementierung der Verbundoperation kann gleichzeitig Selektionen auf den beteiligten Tabellen und S ausführen SELECT * FOM, S WHEE.VA Θ S.VA AND P AND P S VA: Verbundattribute P und P S : Prädikate definiert auf Selektionsattributen (SA) von und S 13 Planoperatoren für den Verbund Mögliche Zugriffspfade Scans über und S (immer) Scans über I (VA), I S (VA) (wenn vorhanden) liefern Sortierreihenfolge nach VA Scans über I (SA), I S (SA) (wenn vorhanden) ggf. schnelle Selektion für P und P S Scans über andere Indexstrukturen (wenn vorhanden) ggf. schnelleres Auffinden aller Sätze VA: Verbundattribute P und P S : Prädikate definiert auf Selektionsattributen (SA) von und S 14

8 Nested-Loop-Verbund Annahmen: Sätze in und S sind nicht nach den Verbundattributen geordnet es sind keine Indexstrukturen I (VA) und I S (VA) vorhanden Algorithmus für Θ -Verbund: Scan über S, für jeden Satz s, falls P S : Scan über, für jeden Satz r, falls P AND (r.va Θ s.va): führe Verbund aus, d. h., übernehme kombinierten Satz (r, s) in die Ergebnismenge. Komplexität: O(N 2 ) für N = N = N S Inakzeptables Leistungsverhalten wenn die Tupel der inneren elation nicht vollständig in den Hauptspeicher passen. Quelle: [Gra93] 15 Nested-Loop-Verbund Nested-Loop-Verbund mit Indexzugriff Scan über S, für jeden Satz s, falls P S : ermittle mittels Zugriff auf I (VA) alle TIDs für Sätze mit r.va = s.va, für jedes TID: hole Satz r, falls P : übernehme kombinierten Satz (r, s) in die Ergebnismenge. Nested-Block-Verbund Scan über S, für jede Seite (bzw. Menge aufeinander folgender Seiten) von S: Scan über, für jede Seite (bzw. Menge aufeinander folgender Seiten) von : für jeden Satz s der S-Seite, falls P S : für jeden Satz r der -Seite, falls P AND (r.va Θ s.va): übernehme kombinierten Satz (r, s) in die Ergebnismenge. 16

9 Sort-Merge-Verbund Algorithmus besteht aus 2 Phasen: Phase 1: Sortierung von und S nach (VA) und S(VA) (falls nicht bereits vorhanden), dabei frühzeitige Eliminierung nicht benötigter Sätze (P, P S ) Phase 2: schritthaltende Scans über sortierte - und S-Sätze mit Durchführung des Verbundes bei r.va = s.va Komplexität: O(N log N) für N = N = N S Spezialfall: Falls I (VA) und I S (VA) oder verallgemeinerte Zugriffspfadstruktur über (VA) und S(VA) (Join-Index) vorhanden Ausnutzung von Indexstrukturen auf Verbundattributen: Schritthaltende Scans über I (VA) und I S (VA): für jeweils zwei Schlüssel aus I (VA) und I S (VA), falls r.va = s.va: hole mit den zugehörigen TIDs die Tupel, falls P und P S : übernehme kombinierten Satz (r, s) in die Ergebnismenge. 17 Hash-Verbund Einfachster Fall (classic hashing): Schritt 1: Abschnittsweises Lesen der (kleineren) Tabelle und Aufbau einer Hash-Tabelle mit h A (r(va)) nach Werten von (VA) entsprechend den Abschnitten i (1 i p), so dass jeder der p Abschnitte in den verfügbaren Hauptspeicher passt und jeder Satz P erfüllt. Schritt 2: Überprüfung (Probing) für jeden Satz von S der P S erfüllt. Im Erfolgsfall Durchführung des Verbunds. Schritt 3: Wiederhole Schritt 1 und 2 solange, bis erschöpft ist. 18

10 Hash-Verbund Aufbau der Hash-Tabelle und Probing Es erfolgt ein Scan über Dabei wird die Hash-Tabelle H i (1 i p) der eihe nach im HSP aufgebaut H 1 S Scan über S mit Probing von H 1 S Scan über S mit Probing von H p H p Komplexität: O(p N S ) Spezialfall: passt in den Hauptspeicher: eine Partition (p = 1) ein Scan über S genügt 19 Hash-Verbund Partitionieren von mit h p (r(va)) #Tupel/ VA-Wert #Tupel/ VA-Wert h P (r(va)) VA Ableitung der H i Partitionierung von in Teilmengen 1, 2,..., p Ein Satz r von ist in i, wenn h p (r(va)) in H i ist. h p Warum ist diese Partitionierung eine kritische Operation? Welche Hilfsoperationen können erforderlich sein? Ist für die Partitionierung der Einsatz einer Hash-Funktion notwendig? VA' H 1 H 2 H p Tabelle S wird mit derselben Funktion h p unter Auswertung von P S partitioniert Varianten des Hash-Verbundes Unterschiede vor allem in der Art der Partitionsbildung 20

11 Simple Hash Join Schritt 1: Führe Scan auf kleinerer Tabelle aus Überprüfe P und wende auf qualifizierte Tupel r die Hash-Funktion h p an Fällt h p (r(va)) in den gewählten Bereich, trage r in H 1 ein Anderenfalls schreibe r in einen Puffer für die Ausgabe in eine Datei rest für übergangene r-tupel Schritt 2: Führe Scan auf S aus Überprüfe P S und wende auf qualifizierte Tupel s die Hash-Funktion h p an Fällt h p (s(va)) in den gewählten Bereich, suche in H 1 einen Verbundpartner (Probing) Falls erfolgreich, bilde ein Verbundtupel und ordne es dem Ergebnis zu Anderenfalls schreibe s in einen Puffer für die Ausgabe in eine Datei S rest für übergangene s-tupel Schritt 3: Wiederhole Schritt 1 und 2 mit den bisher übergangenen Tupeln auf H i solange, bis rest erschöpft ist Dabei ist die Überprüfung von P und P S nicht mehr erforderlich Partitionierungstechnik beim einfachen Hash-Verbund gezeigt an Aufbau und Probing von H 1 : 1. Iteration Schritt 1 Schritt 2 S H 1 rest S rest 21 Grace Join Partitionsbildung findet vor dem Verbund statt Partitionen i und S i sind in Dateien zwischengespeichert Aufbau von H i im HSP mit i und Probing mit S i 1 H 1 S 1 Scan über S 1 mit Probing von H 1 p S p... H P Scan über SP mit Probing von HP 22

12 Hybrid Hash Join Optimiert das Verfahren dadurch, dass parallel zur Partitionsbildung Aufbau und Probing von H 1 erfolgt 1) Scan 2 3 p 1 in H 1 aufgebaut a) HSP... b) S Scan sofortiges Probing von S 1 -Tupel S 2 S 3 S p HSP-Bereich jeweils 1 Seite 2) 3)... 2 H 2 S 2 Scan wie bei Grace-Verbund 23 Nutzung typübergreifender Zugriffspfade Verbund über Link-Strukturen Ausnutzung hierarchischer Zugriffspfade für den Gleichverbund Scan über (Owner-Tabelle), für jeden Satz r, falls P : Scan über zugehörige Link-Struktur L -S (VA), für jeden Satz s, falls P S : übernehme kombinierten Satz (r, s) in die Ergebnismenge Weitere Verfahren Verbundindexe, die für bestimmte Θ-Verbunde eingerichtet sind TID r1 S TID s4 TID s3 TID s2 TID s6 logische Sicht VI TID r1 S TID s3 TID s2 TID s4 TID s6 Index auf TID VI S S TID s2 TID s3 TID s4 TID s6 Nutzung von verallgemeinerten Zugriffspfadstrukturen TID r1 Index auf TID S K53 K25 K36 K K58 K78 K88 Zeigerlisten für A1 A Z11 Z 21 Z22 Z23 Z31 Z 41 Z42 Z43 Z44 K55 Zeigerlisten für A2 und A4 Optionaler Zeiger zur Überlaufseite 24

13 Eingabestrom 2 e 21 e 22 e Verbundalgorithmen Vergleich e 11 e 12 e 13 Eingabestrom 1 Elementvergleich Elementvergleich, der zu einem Verbundelement führt (a) Nested-Loop-Verbund (b) Merge-Verbund Hash-Partitionen (c) Hash-Verbund Nested-Loop-Verbund ist immer anwendbar, jedoch ist dabei stets das vollständige Durchsuchen des gesamten Suchraums in Kauf zu nehmen. Merge-Verbund benötigt die geringsten Suchkosten, verlangt aber, dass die Eingabeströme bereits sortiert sind. Indexstrukturen auf beiden Verbundattributen erfüllen diese Voraussetzung. Sonst reduziert das Sortieren beider Tabellen nach den Verbundattributen den Kostenvorteil in erheblichem Maße. Ein Sort-Merge-Verbund kann dennoch zusätzliche Vorteile besitzen, falls das Ergebnis in sortierter Folge verlangt wird und das Sortieren des großen Ergebnisses aufwendiger ist als das Sortieren zweier kleiner Ergebnismengen. Beim Hash-Verbund wird der Suchraum partitioniert. In Bild c ist unterstellt, dass die gleiche Hash- Funktion h auf die Tabellen und S angewendet worden ist. Die Partitionsgröße (bei der kleineren) Tabelle richtet sich nach der verfügbaren Puffergröße im Hauptspeicher. Eine Verkleinerung der Partitionsgröße, um den Fall b anzunähern, verursacht höhere Vorbereitungskosten und ist deshalb nicht zu empfehlen. 25 Verbundalgorithmen in verteilten DBS Problemstellung: Anfrage in Knoten K, die einen Verbund zwischen (Teil-)Tabellen am Knoten K und (Teil-)Tabelle S am Knoten K S erfordert Festlegung des Ausführungsknotens: K, K oder K S Bestimmung der Auswertestrategie Sende beteiligte Tabellen vollständig an einen Knoten und führe lokale Verbundberechnung durch ( ship whole ) - minimale Nachrichtenanzahl - sehr hohes Übertragungsvolumen Fordere für jeden Verbundwert der ersten Tabelle zugehörige Tupel der zweiten an ( fetch as needed ) - hohe Nachrichtenanzahl - nur relevante Tupel werden berücksichtigt Kompromisslösungen: Mit Semi-Verbund bzw. Erweiterungen wie Bit-Vektor- Verbund (hash filter join) Semi-Verbund Versenden einer Liste der VA von ( ' = π VA () ) zum Knoten S Ermitteln der Verbundpartner in S ( S' = S VA' = π S (S VA') ) Zurückschicken zum Knoten von Durchführung des Verbunds ( S' ) Bit-Vektor-Verbund ähnlich wie Semi-Verbund, nur Versenden eines durch Hash-Funktion erstellten Bitvektors (Bloom-Filter) ücksenden einer Obermenge der Verbundpartner in S 26

14 Frankfurt Semi-Verbund ABTEILUNGEN ABTN OT MG Verbund ABTN NAME Hans Verschicke projizierte Verbundpartner zurück 39 Anna 64 Verschicke die ganze VA-Spalte München ABTN Finde Verbundpartner ANGESTELLTE ABTN NAME ADESSE TEL Hans Anna 27 Bit-Vektor-Verbund Frankfurt ABTEILUNGEN ABTN OT MG ABTN NAME ADESSE TEL 39 Test + Verbund 28 Hans 64 Anna Erzeuge Bit-Vektor durch Hashing Verschicke die potentiellen Verbundkandidaten zurück München Verschicke Bit-Vektor ANGESTELLTE ABTN NAME ADESSE TEL Hashing der ABTN-Werte, um potentielle Verbundkandidaten zu finden Hans Anna 28

15 8. Tabellenoperationen Implementierung Ziele Planoperatoren auf einer Tabelle Planoperatoren auf mehreren Tabellen Verbundalgorithmen Nested-Loop-Verbund Sort-Merge-Verbund Hash-Verbund (classic hashing, simple hash join, hybrid hash join) Nutzung von typübergreifenden Zugriffspfaden verteilte Verbundalgorithmen weitere binäre Operationen (Mengenoperationen) 29 Mengenoperationen Welche Mengenoperationen werden benötigt? A B C S, S vereinigungsverträgliche Eingabeströme A, B, C Elementmengen Übereinstimmung Operationsergebnis oder mehreren Attributen Übereinstimmung in einem in allen Attributen A B C A, B A, C B, C A, B, C Differenz (-S) Durchschnitt Differenz (S-) Anti-Differenz Vereinigung Anti-Semiverbund Verbund, Semiverbund Anti-Semiverbund Linksseitiger Äußerer Verbund Anti-Verbund echtsseitiger Äußerer Verbund Symmetrischer Äußerer Verbund Welche Algorithmen lassen sich für diese Mengenoperationen heranziehen? Was muss jeweils verglichen werden? Wie lässt sich eine Verbindung zu den Verbundalgorithmen herstellen? Quelle: [Gra93] 30

16 Binäre Matching-Operationen Mengen- und Verbundoperationen sind eng miteinander verwandt! erledigen grundsätzlich dieselbe Aufgabe: binary one-to-one matching operations ein Eingabe-Element trägt zur Ausgabe abhängig von seinem Match mit einem anderen Eingabe-Element bei Operationen erfordern immer wieder die gleichen Schritte und können deshalb mit denselben Algorithmen implementiert werden Gleiche logische Vorgehensweise aus und S werden drei Elementmengen gebildet: A, B, C Elemente in B passen zueinander! Wie können diese drei Elementmengen gebildet werden? - mit Schleifeniteration - mit Mischmethode - mit Hash-Methode 31 Binäre Matching-Operationen Vereinheitlichtes ealisierungskonzept Vergleich von Verbund- vs. Primärschlüssel-Attributen Gemeinsamkeit: Sätze werden auf der Basis von Attributwerten gruppiert Dabei sind einige unäre Operationen mit speziellen Maßnahmen möglich - Gruppierung und Sortierung erlaubt einfache Duplikateliminierung - Bei Aggregation wird ein Attributwert pro Gruppe bestimmt - Beim Verbund ist die Gruppierung der potentiellen Verbundpartner kosteneffektiv (entweder in Partitionen oder einer Sortierordnung) - Bei Mengenoperationen können die Elementmengen A, B, C gefunden werden; dabei wird Duplikateliminierung möglich 32

17 Zusammenfassung Selektionsoperationen vorhandene Zugriffspfadtypen erfordern zugeschnittene Operationen und effiziente Abbildung Kombination verschiedener Zugriffspfade möglich (TID-Algorithmus) Allgemeine Klassen von Auswertungsverfahren für binäre Operationen Schleifeniteration (nested iteration) Mischmethode (merge method) Hash-Methode (hashing) Viele Optionen zur Durchführung von Verbundoperationen Nested-Loop-Verbund Sort-Merge-Verbund Hash-Verbund und Variationen Mengenoperationen prinzipiell Nutzung der gleichen Verfahrensklassen Variation der Vergleichsdurchführung 33 LiteraturzudiesemKapitel [Gra93] [Mit95] Goetz Graefe: Query Evaluation Techniques for Large Databases. ACM Comput. Surv. Vol. 25, No. 2, Mitschang, B.: Anfrageverarbeitung in Datenbanksystemen - Entwurfsund Implementierungskonzepte, eihe Datenbanksysteme, Vieweg- Verlag,

Relationenoperationen - Implementierung 0

Relationenoperationen - Implementierung 0 Relationenoperationen - Implementierung 0 Operationen der Relationenalgebra - unäre Operationen: π, σ - binäre Operationen: join,, +,,, SQL-Anfragen enthalten logische Ausdrücke, die auf die Operationen

Mehr

9. Relational Plan Operators. Architektur von Datenbanksystemen II

9. Relational Plan Operators. Architektur von Datenbanksystemen II 9. Relational Plan Operators Architektur von Datenbanksystemen II Planoperatoren WAS SIND PLANOPERATOREN Physisch ausführbare Operatoren Physische Realisierung der logischen Operatoren der Relationalen

Mehr

5. Verteilte und parallele Query-Bearbeitung

5. Verteilte und parallele Query-Bearbeitung 5. Verteilte und parallele Query-Bearbeitung Einführung Verteilte Anfragebearbeitung: Teilschritte Anfragetransformation Daten-Lokalisierung Globale Optimierung Verteilte / parallele Selektion, Projektion,

Mehr

Anfrageverarbeitung. Einführung

Anfrageverarbeitung. Einführung Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( σ ) Auswahl einer Teilmenge von Tupeln aus der

Mehr

7.3 Baum-Indexstrukturen

7.3 Baum-Indexstrukturen 7. Physischer Datenbankentwurf 7.3. Baum-Indexstrukturen Seite 1 7.3 Baum-Indexstrukturen B-Baum der Ordnung (m, l); m > 2, l > 1. Die Wurzel ist entweder ein Blatt oder hat mindestens zwei direkte Nachfolger.

Mehr

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom Vorlesung Datenbanksysteme vom 21.11.2016 Anfragebearbeitung 2 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Physische Optimierung Iterator: einheitliche Schnittstelle

Mehr

Datenbanken 2. Anfragebearbeitung. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Version 1.

Datenbanken 2. Anfragebearbeitung. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Version 1. Datenbanken 2 Anfragebearbeitung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Version 1. Juni 2017 Wintersemester 2017/18 Augsten (Univ. Salzburg) DB2 Anfragebearbeitung

Mehr

6. Formaler Datenbankentwurf 6.1. Definitionen

6. Formaler Datenbankentwurf 6.1. Definitionen 6. Formaler Datenbankentwurf 6.1. Definitionen Minimale Überdeckung Eine Menge funktionaler Abhängigkeiten F min ist eine minimale Überdeckung zu F, wenn wir sie durch Anwendung der folgenden Schritte

Mehr

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 4: Basisalgorithmen für Datenbankoperationen 1 Einordnung in die 5-Schichten-Architektur

Mehr

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2017/18

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2017/18 Inhalt Datenbanken 2 Anfragebearbeitung 1 Einführung Nikolaus Augsten 2 Anfragekosten anschätzen nikolausaugsten@sbgacat FB Computerwissenschaften Universität Salzburg Version 1 Juni 2017 Wintersemester

Mehr

Inhalt. Datenbanken Vertiefung. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2013/14

Inhalt. Datenbanken Vertiefung. Literatur und Quellen. Inhalt. Anfragebearbeitung. Nikolaus Augsten. Wintersemester 2013/14 Inhalt Datenbanken Vertiefung Anfragebearbeitung Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg 1 Einführung 2 Anfragekosten anschätzen 3 4 Wintersemester 2013/14

Mehr

Hash-Join Algorithmen

Hash-Join Algorithmen Hash-Join lgorithmen dvanced Topics in Databases Ws08/09 atthias ichly Einleitung 2 Grundlage ist das Paper: Join Processing in Database Systems With Large ain emories Quelle: C Transactions on Database

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Joins 1 IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Literatur Priti Mishara, Maragaret H. Eich, Join Processing in Relational Databases, ACM Computing Surveys, Vol. 24, No. 1, March 1992 Goetz Graefe,

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Joins 1 Literatur IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN A. Kemper, A. Eickler: Datenbanksysteme Eine Einführung, 8. Auflage Oldenburg Verlag, 2011, ISBN 978-3-486-59834-6 (als E-Book mit dem Übungsbuch

Mehr

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:

Mehr

9 Auswertung von Anfrageoperatoren 9.1 Selektion

9 Auswertung von Anfrageoperatoren 9.1 Selektion 9. Auswertung von Anfrageoperatoren 9.1. Selektion Seite 1 9 Auswertung von Anfrageoperatoren 9.1 Selektion Auswertung von σ[a op val]r. Index zu A, Sortierung zu A, Operator op. Auswertung von Formeln

Mehr

Rückblick: Datenorganisation & Indexstrukturen

Rückblick: Datenorganisation & Indexstrukturen Rückblick: Datenorganisation & Indexstrukturen Datenorganisation der Tupel einer Relation als Haufen, sequenzielle Datei oder indexsequenzielle Datei Indexstrukturen zum effizienteren Zugriff auf Datensätze

Mehr

Physischer DB-Entwurf

Physischer DB-Entwurf Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer

Mehr

Kapitel 10: Relationale Anfragebearbeitung

Kapitel 10: Relationale Anfragebearbeitung Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:

Mehr

Teil V Basisalgorithmen für DB-Operationen

Teil V Basisalgorithmen für DB-Operationen Teil V Basisalgorithmen für DB-Operationen Überblick 1 Datenbankparameter & Grundalgorithmen c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 12. Mai 2017 5 1 Überblick 1 Datenbankparameter

Mehr

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz. 4.1 4.2 4.1 4.2 NICOLE SCHWEIKARDT, ISOLDE ADLER GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL 4, SEITE 1 Grenzen der Ausdrucksstärke konjunktiver Anfragen Wir haben gesehen: konjunktive

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

Indexstrukturen in SQL

Indexstrukturen in SQL Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename

Mehr

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz. 3.1 3.2 3.1 3.2 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL 3, SEITE 1 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1 Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Anfrageoptimierung Kostenabschätzung

Anfrageoptimierung Kostenabschätzung Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Kostenabschätzung Dr. Thomas Gottron Wintersemester 2012/13 Regel vs. Kostenbasierte Optimierung Bisher: Regeln, wie Optimierung

Mehr

5. Basisalgorithmen für DB-Operationen

5. Basisalgorithmen für DB-Operationen 5. Basisalgorithmen für DB-Operationen Datenbankparameter Komplexität von Grundalgorithmen Unäre Operationen (Scan, Selektion, Projektion) Binäre Operationen: Mengenoperationen Berechnung von Verbunden

Mehr

Datenbanksysteme Kapitel 5: SQL - Grundlagen

Datenbanksysteme Kapitel 5: SQL - Grundlagen Datenbanksysteme Kapitel 5: SQL - Grundlagen Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Prof. Peter Dr. Chamoni Peter

Mehr

Dateiorganisation und Zugriffsstrukturen

Dateiorganisation und Zugriffsstrukturen Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

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

Übung 3. Komplexe SQL-Anfragen. Prof. Dr. Andreas Schmietendorf 1. Übung 3

Übung 3. Komplexe SQL-Anfragen. Prof. Dr. Andreas Schmietendorf 1. Übung 3 Komplexe SQL-Anfragen Prof. Dr. Andreas Schmietendorf 1 Aufgabenbeschreibung Prof. Dr. Andreas Schmietendorf 2 Zielstellung setzt auf den Ergebnissen der Übung 2 auf. Dem entsprechend wird wiederum die

Mehr

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren

Mehr

Star Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II

Star Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II Star Join & Kostenbasierte Optimierung Architektur von Datenbanksystemen II Star Join Übungsaufgabe zum 09.06.2015 JOIN-ALGORITHMUS für folgendes Scenario Große Faktentabelle F mit sehr vielen Einträgen

Mehr

Realisierung von Datenbanksystemen

Realisierung von Datenbanksystemen Prof. Dr.-Ing. Dr. h. c. Theo Härder Universität Kaiserslautern Fachbereich Informatik haerder@informatik.uni-kl.de http://www.haerder.de/ Vorlesung Realisierung von Datenbanksystemen SS 2005 Theo Härder

Mehr

Aufgabe 1: Verschachtelte Anfragen

Aufgabe 1: Verschachtelte Anfragen Aufgabe 1: Verschachtelte Anfragen (1 P.) (a) Betrachten Sie folgenden Ausschnitt des TPC-H Schemas: CREATE TABLE partsupp ( ps_ availqty INT, ps_ partkey INT ); CREATE TABLE lineitem ( l_ partkey INT,

Mehr

Anfrageverarbeitung. Prof. Dr. T. Kudraß 1

Anfrageverarbeitung. Prof. Dr. T. Kudraß 1 Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( s ) Auswahl einer Teilmenge von Tupeln aus der

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

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

Teil V Basisalgorithmen für DB-Operationen

Teil V Basisalgorithmen für DB-Operationen Teil V Basisalgorithmen für DB-Operationen Überblick 1 Datenbankparameter & Grundalgorithmen c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 19. Mai 2017 5 1 Überblick 1 Datenbankparameter

Mehr

Übung Datenbanksysteme II Anfrageausführung. Thorsten Papenbrock

Übung Datenbanksysteme II Anfrageausführung. Thorsten Papenbrock Übung Datenbanksysteme II Anfrageausführung Thorsten Papenbrock Einleitung: Themen 3 Iterator-Operatoren Algorithmen-Klassen ort-basierte Hash-basierte Index-basierte Algorithmen-chwierigkeitsgrade One-Pass-Algorithmen

Mehr

1 Einführung Ziele der Vorlesung Die Idee Lernkarte Selbsttest-Frage 3 Literaturhinweise 3

1 Einführung Ziele der Vorlesung Die Idee Lernkarte Selbsttest-Frage 3 Literaturhinweise 3 1 Einführung 1 1.1 Ziele der Vorlesung 1 1.2 Die Idee 1 1.3 Lernkarte 2 1.4 Selbsttest-Frage 3 Literaturhinweise 3 Teilt Die Zukunft von Enterprise-Computing 5 2 Neue Anforderungen an Enterprise Computing

Mehr

Datenbanken Implementierungstechniken SS2015

Datenbanken Implementierungstechniken SS2015 Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences Parallele DBMS Datenbanken Implementierungstechniken SS2015 Alexander Müller Fakultät Informatik, Mathematik

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

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

Download:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse Seminar Advanced Data Warehouse Thema: Index Selection Vortrag von Stephan Rieche gehalten am 2. Februar 2004 Download:.../~rieche Inhalt des Vortrages 1. Einleitung - Was ist das Index Selection Problem?

Mehr

Datenbankoptimierung

Datenbankoptimierung Datenbankoptimierung Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Hardware c Ingo Claßen, Martin Kempa Architektur:

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

Algorithmen und Datenstrukturen SS09. Foliensatz 7. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 7. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 7 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 15 Mengenoperationen TU Ilmenau Seite 2 / 15 Mengenoperationen

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

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

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

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

3. Grundlagen relationaler Datenbanksysteme

3. Grundlagen relationaler Datenbanksysteme 3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Implementierung von Datenbanksystemen

Implementierung von Datenbanksystemen Anwendersoftware (AS) Implementierung von Datenbanksystemen Kapitel 7: Teile dieses Foliensatzes beruhen auf ähnlichen Vorlesungen, gehalten von Prof. Dr. T. Härder am Fachbereich Informatik der Universität

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 6 Vertiefung Relationale Algebra Anzeigen von Daten aus mehreren Tabellen Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 22

Mehr

Datenbanksysteme SS 2013

Datenbanksysteme SS 2013 Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms

Mehr

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)

Mehr

Kap. 3 Relationenmodell mit relationaler Algebra

Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,

Mehr

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) 14.5.2007 Felix Naumann Motivation 2 Annahme bisher: Eine Dimension Ein einziger Suchschlüssel Suchschlüssel kann auch Kombination von Attributen

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

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar 2009 Dr. A. Huhn, M. Endres, T. Preisinger Datenbanksysteme I Semesterklausur Hinweise: Die Bearbeitungszeit

Mehr

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis

Mehr

2.5 Relationale Algebra

2.5 Relationale Algebra 2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle

Mehr

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen Concept Content.. Information Topic Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik Arbeitsgruppe

Mehr

Cluster-Bildung. VL Datenbanken II 4 107

Cluster-Bildung. VL Datenbanken II 4 107 Cluster-Bildung gemeinsame Speicherung von Datensätzen auf Seiten wichtige Spezialfälle: Ballung nach Schlüsselattributen. Bereichsanfragen und Gruppierungen unterstützen: Datensätze in der Sortierreihenfolge

Mehr

6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen

6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen 6. Formaler Datenbankentwurf 6.4. Minimale Überdeckung Seite 1 6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen Seien F Mengen von funktionalen Abhängigkeiten. Wir suchen eine minimale Überdeckung

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

Das relationale Modell (Teil 1)

Das relationale Modell (Teil 1) Vorlesung #2 Das relationale Modell (Teil 1) Fahrplan WS 2010/11 Feedback Vorlesung#1 Das relationale Modell Einordnung (wir überspringen die Modellierung, das kommt im 4. Semester Datenmanagement ) Definition,

Mehr

Query-Manager Kurzanleitung Inhalt. Query-Manager. Kurzanleitung

Query-Manager Kurzanleitung Inhalt. Query-Manager. Kurzanleitung Query-Manager Kurzanleitung Inhalt Query-Manager Kurzanleitung 1 Inhalt 1. Selektion über Sachdaten... 3 2. Einfache Abfrage... 3 2.1. Objektklasse und Tabelle auswählen... 3 2.2. Attributeigenschaften

Mehr

FachPraktikum 1590 Erweiterbare Datenbanksysteme. Aufgaben Phase 1

FachPraktikum 1590 Erweiterbare Datenbanksysteme. Aufgaben Phase 1 FachPraktikum 1590 Erweiterbare Datenbanksysteme Aufgaben Phase 1 Wintersemester 2004/2005 Ralf Hartmut Güting, Dirk Ansorge, Thomas Behr, Markus Spiekermann Praktische Informatik IV, Fernuniversität Hagen

Mehr

Relationale Datenbanken

Relationale Datenbanken Ramon A. Mata-Toledo, Pauline K. Cushman Relationale Datenbanken Schaum's Repetitorien Übersetzung aus dem Amerikanischen von G&U Technische Dokumentation GmbH Z Die Autoren 9 Vorwort 9 1 Ein Überblick

Mehr

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung

Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis

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

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Relationale Datenbanken und SQL Theorie und Anwendung Prof. Dr. Nikolaus Wulff Gründe für eine Datenbank Meist werden Daten nicht in XML-Dokumenten, sondern innerhalb einer

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

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27 Inhaltsverzeichnis Einleitung 19 Über dieses Buch 19 Konventionen in diesem Buch 20 Was Sie nicht lesen müssen 21 Törichte Annahmen über den Leser 21 Wie dieses Buch aufgebaut ist 22 Teil I: Einführung

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und

Mehr

Nutzung der Oracle Database InMemory Option für SAP BW

Nutzung der Oracle Database InMemory Option für SAP BW Nutzung der Oracle Database InMemory Option für SAP BW Schlüsselworte Oracle, SAP-BW, InMemory, Star-Schema. Jörn Bartels Oracle München Einleitung In SAP BW wurde bisher ein erweitertes Snow Flake Schema

Mehr

Erinnerung VL vom

Erinnerung VL vom Erinnerung VL vom 09.05.2016 Analyse von Hashtabellen mit verketteten Listen Erwartete Laufzeit O(1) bei zuf. Hashfkt. und falls M O(m) Guter Ersatz (hier) für zuf. Hashfkt.: universelle Hashfunktionen

Mehr

Datenbank- Implementierungstechniken

Datenbank- Implementierungstechniken Vorlesung Datenbank- Implementierungstechniken Universität Magdeburg, WS 02/03 Kai-Uwe Sattler kus@iti.cs.uni-magdeburg.de VL Datenbank-Implementierungstechniken 0 1 Überblick 1. Aufgaben und Prinzipien

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

Geoinformation Abbildung auf Tabellen

Geoinformation Abbildung auf Tabellen Folie 1 von 32 Geoinformation Abbildung auf Tabellen Folie 2 von 32 Abbildung auf Tabellen Übersicht Motivation des relationalen Datenmodells Von Objekten zu Tabellen Abbildung von Objekten Schlüssel Abbildung

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

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

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'

Mehr

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2 Hashorganisation HASHORGANISATION Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 982, Kapitel 2.2 Die Sätze der Datei werden auf eine Menge von Buckets aufgeteilt. Jedes Bucket

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Übungsblatt 10 Prof. Dr. Helmut Seidl, T. M. Gawlitza,

Mehr

Aufbau Datenbanksysteme

Aufbau Datenbanksysteme Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur

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

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, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Daniel Reinhold Shenja Leiser 6. Februar 2006 2/28 Gliederung Einführung Transitive Hülle Definition Iterative Algorithmen 1. Naive

Mehr

Kapitel 6 Externes Sortieren

Kapitel 6 Externes Sortieren Kapitel 6 Externes Sortieren Überblick Two-Way Merge Sort External Merge Sort Kostenminimierung B+ Bäume zur Sortierung 1 Architektur und Implementierung von Datenbanksystemen WS 2009/10 Melanie Herschel

Mehr