11
Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung Logische Optimierung

Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

  • Upload
    una

  • View
    26

  • Download
    1

Embed Size (px)

DESCRIPTION

Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung. Logische Optimierung. Architektur eines DBMS. Interactive Abfrage. API/Präcompiler. Verwaltungswerkzeug. DML-Compiler. DDL-Compiler. Abfrageoptimierung. Schemaverwaltung. Datenbankmanager. - PowerPoint PPT Presentation

Citation preview

Page 1: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

Logische Optimierung

Page 2: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

2

Architektur eines DBMS

DML-Compiler DDL-Compiler

Abfrageoptimierung

Datenbankmanager

Schemaverwaltung

Dateiverwaltung

Logdateien Indexe Datenbasis Data Dictionary

Mehrbenutzersynchronisation

Fehlerbehandlung

Interactive Abfrage API/Präcompiler Verwaltungswerkzeug

Page 3: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

3

Ablauf der Anfrageoptimierung

ScannerParser

Sichtenauflösung

Anfrage-Optimierer

CodeerzeugungAusführung

DeklarativeAnfrage

AlgebraischerAusdruck

Auswertungs-Plan (QEP)

Page 4: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

4

Kanonische Übersetzung

select A1, ..., An

from R1, ..., Rk

where P

R1 R2

R3

Rk

P

A1, ..., An

Page 5: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

5

Anwendung der Transformationsregelnselect distinct s.Semester

from Studenten s, hören h

Vorlesungen v, Professoren p

where p.Name = ´Sokrates´ and

v.gelesenVon = p.PersNr and

v.VorlNr = h.VorlNr and

h.MatrNr = s.MatrNr

s h

v

p

p.Name = ´Sokrates´ and ...

s.Semester

Page 6: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

6

Aufspalten der Selektionsprädikate

s h

v

p

p.Name = ´Sokrates´ and ...

s.Semester

s hv

p

p.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

s.MatrNr=h.MatrNr

v.VorlNr=h.VorlNr

Page 7: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

7

Verschieben der Selektionsprädikate„Pushing Selections“

s h

vp

p.PersNr=v.gelesenVon

s.Semester

p.Name = `Sokrates`

s.MatrNr=h.MatrNr

v.VorlNr=h.VorlNr

s hv

p

p.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

s.MatrNr=h.MatrNr

v.VorlNr=h.VorlNr

Page 8: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

8

Zusammenfassung von Selektionen und Kreuzprodukten zu Joins

s h

vp

p.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

s.MatrNr=h.MatrNr

v.VorlNr=h.VorlNr

s h

vpAs.MatrNr=h.MatrNr

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

Page 9: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

9

Optimierung der JoinreihenfolgeKommutativität und Assoziativität ausnutzen

s

h

v

p

As.MatrNr=h.MatrNr

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

s h

vp

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

As.MatrNr=h.MatrNr

Page 10: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

10

Was hat´s gebracht?

s

h

v

p

As.MatrNr=h.MatrNr

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

s h

vp

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

As.MatrNr=h.MatrNr

13

13

4

1

3

4

4

Page 11: Vorlesung Datenbanksysteme vom 13.10.2004 : Wiederholung Anfragebearbeitung

11

Einfügen von Projektionen

s

h

v

p

As.MatrNr=h.MatrNr

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

s

h

v

p

As.MatrNr=h.MatrNr

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr

h.MatrNr