Universität Augsburg, Institut für Informatik Prof. Dr. W. Kießling Dr. A. Huhn, F. Wenzel, M. Endres WS 2009/2010 06. Nov. 2009 Übungsblatt 3 Datenbanksysteme I Aufgabe 1: Grundoperationen der relationalen Algebra 1. Bilden Sie die Vereinigung der beiden Relationen A und B. Relation A Nachname Maier Müller Bauer Vorname Liselotte Karl Heinz Geburtsdatum 4.3.23 3.8.65 4.5.45 Relation B Nachname Huber Müller Bauer Riedel Müller Vorname Lisa Karl Heinz Werner Heinz Geburtsdatum 4.2.81 3.8.65 4.5.45 3.3.34 3.8.65 2. Bilden Sie die Differenz A\B der beiden Relationen. 3. Bilden Sie das kartesische Produkt aus Relation A und C. Relation C Nachname Bauer Müller Lochner Mustermann Straße Theodor-Heuss-Straße Am Katzenstadel Augsburger Straße Klostergasse Hausnummer 77 4 35 66 4. Geben Sie das Ergebnis der Projektion πV orname,C.N achname,Straße (A × C) an. 5. Geben Sie das Ergebnis der Selektion σ(A.N achname=C.N achname)∧Hausnummer>50 (A × C) an. 6. Geben Sie die Division der Relationen D und E an. Relation D Nachname Maier Müller Riedel Huber Mustermann Relation E Vorname Hans Werner Lena Hans Elke Nachname Maier Huber Alter 45 45 23 37 21 Kinder 3 1 0 3 4 Alter 45 37 7. Zu welchen Zwecken kann die Division verwendet werden? Gibt es ferner einen Komplementoperator? 1 Aufgabe 2: Joins Betrachten Sie folgende Definitionen unterschiedlicher Join-Operatoren für die Relationen L(A1 , ..., An , X) und R(B1 , ..., Bm , X) mit der gemeinsamen Attributmenge X. ⋉L.X=R.X R) 1) Natural Join: L ⋊ ⋉ R := πA1 ,...,An,X,B1 ,...,Bm (L ⋊ 2) Semi-Join: L ⋉ R := πA1 ,...,An ,X (L ⋊ ⋉ R) 3) Semi-Join: L ⋊ R: analog zu 2) 4) Left Outer Join: L ⋊ ⋉ R := L ⋊ ⋉ R ∪ ((L \ (L ⋉ R)) × { [−, ..., −] }) | {z } |R−L|−mal Dabei ist R die Menge der Attribute von R, analog L. {[−, −, −]} bezeichnet eine konstante Relation mit einem Tupel, das nur drei null-Attributwerte besitzt. Bestimmen Sie das Ergebnis obiger Join-Operationen für nachstehende Instanzen von L und R und formulieren Sie deren Auswirkung umgangssprachlich. L A a1 a2 B b1 b2 C c1 c2 R C c1 c3 D d1 d2 E e1 e2 Aufgabe 3: Relationale Algebra und Relationen-Kalkül Betrachten Sie folgende Ausprägung einer Datenbank: Mitarbeiter Abteilung Nr 5 4 1 ArbeitetInProjekt PersNr 1234 3334 9998 9876 AbtName Forschung Verwaltung Stab Name Smith Wong Zelaya Huhn Wohnort Weimar Köln Erfurt Erlangen AbtStandort Manager 3334 9876 8886 PersNr ProjektNr 1234 1234 6668 4534 1 2 3 1 ChefPersNr 3334 8886 9876 null Projekt Nr 1 2 3 8 AbtNr 5 5 4 4 AbtStandNr 1 4 5 6 Name X Y Z New Ort Berlin Weimar Hamburg Köln Ort Köln Hamburg Weimar Weimar AbtNr 5 5 4 4 Formulieren Sie die folgenden Anfragen in Relationaler Algebra und Domänenkalkül. Verdeutlichen Sie sich die Anfragen anhand obiger Datenbankausprägung. a) Selektiere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. b) Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. c) Finde die Namen der Mitarbeiter, die in allen Projekten der Abteilung 5 arbeiten. 2