30
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

Embed Size (px)

Citation preview

Page 1: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Vorlesung #5

Relationale Anfragesprachen

Page 2: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 2

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30„Fahrplan“

Besprechung der Übungsaufgaben Zusammenfassung und Fazit ER Relationen Formulierung der Anfragen im relationalen Modell Die Relationale Algebra (Selektion, Projektion,

Vereinigung, relationale Division, Mengendurchschnitt, Mengendifferenz, Joins, kartesisches Produkt etc.)

Der Relationenkalkül Der relationale Tupelkalkül Der relationale Domänenkalkül

Ausblick: SQL (Standard Query Language)

Page 3: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 3

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30Orientierung und Motivation

Man braucht neben der Strukturbeschreibung (relationales Datenbankschema) auch eine Sprache, um die Informationen aus der Datenbank gemäß vorgegeben Kriterien extrahieren zu können

Relationale Algebra beinhaltet einen relational-algebraischen Ausdruck wird bei der Anfragenbearbeitung benutzt (wie werden die

Daten selektiert)

Relationenkalkül Rein deklarativ (was und nicht wie selektiert wird) Tupelkalkül Domänenkalkül

Page 4: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 4

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Relationale AlgebraOperatoren (1)

Selektion Projektionx KreuzproduktA Join (Verbund) Umbenennung Mengendifferenz Division Vereinigung Mengendurchschnitt

Page 5: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 5

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Relationale AlgebraOperatoren (2)

F Semi-Join (linker)

E Semi-Join (rechter)

C linker äußerer Join

D rechter äußerer Join

Page 6: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 6

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 7: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 7

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 8: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 8

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 9: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 9

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 10: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 10

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 11: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 11

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 12: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 12

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 13: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 13

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 14: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 14

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 15: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 15

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 16: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 16

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 17: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 17

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 18: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 18

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 19: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 19

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 20: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 20

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 21: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 21

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 22: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 22

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 23: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 23

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 24: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 24

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 25: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 25

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 26: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 26

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 27: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 27

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Page 28: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 28

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30Fazit

Relationenalgebra und relationaler Tupelkalkül wurden vorgestellt

Relationale Algebra wird bei der Anfrageoptimierung benutzt sichere Sprache, liefert Ergebnisse in endlicher

Zeit Effizient auswertbar, da alle Operatoren

polynomiale Zeitkomplexität haben O(1), O(n), O(n log n), O (n2) - je nach Implementierung

Nicht Turing-vollständig, keine Rekursionen (keine Schleifen, keine Kontroll-Verzweigungen)

Page 29: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

© Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 29

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

SQL – na, endlich !!! SQL Geschichte und Standards SQL DDL (Data Definition Language)

Datentypen Schemadefinition CREATE TABLE

SQL DML (Data Manipulation Language) INSERT SELECT

Komplexe Abfragen, Null-Werte usw.

Ausblick Vorlesung #6

Page 30: SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen

SS 2004Datenbanken 4WMi 13:30 – 15:00

G 2.30

Vorlesung #5

Ende