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 „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) © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 2 Orientierung und Motivation SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 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 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 3 Relationale Algebra Operatoren (1) SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Selektion Projektion x Kreuzprodukt A Join (Verbund) Umbenennung Mengendifferenz Division Vereinigung Mengendurchschnitt © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 4 Relationale Algebra Operatoren (2) F Semi-Join (linker) E Semi-Join (rechter) C linker äußerer Join D rechter äußerer Join © Bojan Milijaš, 14.04.2004 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 - Relationale Anfragesprachen 5 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 6 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 7 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 8 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 9 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 10 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 11 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 12 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 13 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 14 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 15 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 16 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 17 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 18 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 19 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 20 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 21 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 22 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 23 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 24 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 25 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 26 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 27 Fazit SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 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) © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 28 Ausblick Vorlesung #6 SS 2004 Datenbanken 4W Mi 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. © Bojan Milijaš, 14.04.2004 Vorlesung #5 - Relationale Anfragesprachen 29 SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Ende