Datenbanken II Übung 2: Optimierung 1 & DB-Architektur Aufgabe 1: Anfrageoptimierung 1 Gegeben sind folgende Relationen Kunden(kndNr, Name, PLZ, Stadt, Strasse) mit 10000 Eintraegen, verteilt auf 20 Staedte Artikel(artNr, Bezeichnung) mit 5000 Eintraegen Lieferinhalt(liefNr -> Lieferung, artNr -> Artikel) mit 200 000 Eintraegen und 5 Artikel pro Lieferung Lieferung(liefNr, kndNr -> Kunden, Datum) mit 40000Eintraegen, durchschn. 100 Lieferungen pro Tag a) Formulieren Sie folgende Anfrage mit SQL: „Gib mir alle Kundennamen aus, die eine Lieferung erhalten haben, die den Artikel mit der Nummer 101 enthielt.“ b) Erstellen Sie mindestens 3 verschiedene äquivalenten Relationenalgebra-Ausdrücke zu der Anfrage. c) Ermitteln Sie wie viele Operationen das Datenbanksystem zur Ausfuehrung jeder dieser Anfragen braucht (vgl. Folie 1-15ff). Welcher Ausdruck ist optimal? d) Optimieren Sie die Anfrage „Gib mir alle Kundennamen aus Leipzig, die am 01.03.2004 eine Lieferung erhalten haben, zusammen mit den Artikelbezeichnungen dieser Bestellung.“ analog zu Aufgabe a bis c. e) Nehmen Sie zusaetzlich an, dass sowohl die Kunden als auch die Lieferung-Relation nach der Kundennummer sortiert sind. Untersuchen Sie die Kosten (Anzahl der Operationen) für die Nested-Loop-Join Operation und für die Merge-Join Operation. Aufgabe 2: DB-Architektur In Abhängigkeit der Administrationsebene gibt es unterschiedliche Architekturdarstellungen für Datenbanksysteme. Die bekanntesten sollen an dieser Stelle miteinander verglichen werden. Außerdem wird die 5-Schichten-Architektur nach den Regeln von Codd überprüft. 1. Zeigen Sie die Überlappungen und Unterschiede zwischen ANSI-SPARC-Architektur (Folie 1-2) und 5-Schichten-Architektur (Folien 2-3ff) auf. 2. Wie passt das ganze zur Schema-Architektur (logische/physische Datenunabhaengigkeit aus DB1)? 3. Wo befinden sich in allen drei Architekturdarstellungen jeweils ○ der Physikalische Speicher, ○ Tabellen in Form von Relationen, ○ Zugriffsstrukturen und Martin Kuhlemann SomSem 2012 Datenbanken II ○ die Sichten auf ein Datenbankschema 4. Stellen Sie dar an welchen Stellen und wie die folgenden neun Anforderungen von Codd in der 5-Schichten-Architektur realisiert werden oder werden müssen. ○ Integration sichert die einheitliche, nicht redundante Verwaltung aller Daten, ○ Operation, ○ Katalog enthält sämtliche Datendefinitionen und -beschreibungen, ○ Benutzersichten extrahieren aus den integrierten Daten wieder anwendungsbezogene Sichten auf den Datenbestand, ○ Konsistenzüberwachung/Integritätssicherung erzwingt das Einhalten der definierten Bedingungen an die Datenbankinhalte, ○ Datenschutz in Form von Zugriffskontrolle, ○ Transaktion als Zusammenfassung von Datenbankänderungen, ○ Synchronisation für Mulituserbetrieb, ○ Datensicherung gegen den Datenverlust. Martin Kuhlemann SomSem 2012 Datenbanken II Martin Kuhlemann SomSem 2012