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 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen2 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)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen3 Orientierung 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
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen4 Relationale Algebra Operatoren (1) Selektion Projektion x Kreuzprodukt A Join (Verbund) Umbenennung Mengendifferenz Division Vereinigung Mengendurchschnitt
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen5 Relationale Algebra Operatoren (2) F Semi-Join (linker) E Semi-Join (rechter) C linker äußerer Join D rechter äußerer Join
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen6
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen7
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen8
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen9
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen10
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen11
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen12
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen13
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen14
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen15
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen16
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen17
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen18
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen19
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen20
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen21
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen22
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen23
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen24
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen25
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen26
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen27
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen28 Fazit 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 (n 2 ) - je nach Implementierung Nicht Turing-vollständig, keine Rekursionen (keine Schleifen, keine Kontroll-Verzweigungen)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, Vorlesung #5 - Relationale Anfragesprachen29 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
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Ende