Relationale Algebra πAutor, Titel (BUCH AUSLEIHE (σ BUCH
Transcription
Relationale Algebra πAutor, Titel (BUCH AUSLEIHE (σ BUCH
ETH Zürich Institut für Informationssysteme Prof. D. Kossmann SoSe 2007, Datenbanksysteme, Übungsblatt 3 Relationale Algebra Gegeben sei das folgende relationale Schema LESER (LSNR, NAME, VORNAME, WOHNORT,GEBDATUM) BUCH (ISBN, TITEL, AUTOR, SEITENZAHL, VERLEGT_VON, ERSCHEINUNGSJAHR) VERLAG (VERLAGSNAME, VERLAGSORT) KATEGORIE (KATEGORIENAME, ENTHALTEN_IN) EXEMPLAR (ISBN, EXEMPLARNUMMER, REGAL, POSITION) AUSLEIHE (LSNR, ISBN, EXEMPLARNUMMER, RÜCKGABEDATUM) BUCH_KAT (ISBN, KATEGORIENAME) Aufgabe 5: Formulieren sie folgenden Anfragen in relationaler Algebra a) Was sind die Nachnamen der Leser in Zürich? πName (σWohnort=Zürich(LESER)) b) Welche Bücher (AUTOR, TITEL) werden von Verlagen mit Verlagsort in München, Heidelberg oder New York verlegt? πAutor, Titel (BUCH verlegt_von=Verlagsname(σVerlagsort=München OR Verlagsort=Heidelberg OR Verlagsort=New York (VERLAG))) c) Welche Bücher (AUTOR, TITEL) hat der Leser Lemmi Schmöker ausgeliehen? πAutor, Titel (BUCH AUSLEIHE Vorname=Lemmi (LESER))) (σName=Schmöker and d) Welche Bücher (ISBN) mit der Kategorie „Alpen“ sind nicht zugleich in der Kategorie „Schweiz“? Unterkategorien müssen dabei nicht berücksichtigt werden! (πISBN(σKategoriename=AlpenBUCH_KAT)) (πISBN(σKategoriename=SchweizBUCH_KAT)) e) Welche Leser (NAME, VORNAME) haben Bücher ausgeliehen, die an ihrem Wohnort verlegt wurden? πName, Vorname (σWohnort=Verlagsort (VERLAG BUCH AUSLEIHE LESER)) verlegt_von=Verlagsname f) Welcher Leser (NAME, VORNAME) hat mindestens ein Buch ausgeliehen, das auch Leser Lemmi Schmöker ausgeliehen hat (Lemmi Schmöker soll nicht im Ergebnis enthalten sein)? πL1.Name, L1.Vorname ((ρL1 Leser ρA1 Ausleihe) L1.lsnr <> L2.lsnr, A1.ISBN=A2.ISBN (ρL2(σName=Schmöker and Vorname=Lemmi Leser) ρA2 Ausleihe)) Aufgabe 6: Drücken Sie den äußeren Join mit Hilfe der Grundoperationen der relationalen Algebra aus. R ⋈ S =π R∪S ( R - πR(R ⋈ S)) ∪ (R ⋈ S) R⋈ S =π R∪S Express the outer Join with the basic operators in relational algebra. Express the outer Join with the basic operators in relational algebra. ( S - πs(R ⋈ S)) ∪ (R ⋈ S) R ⋈ S = σp R x S R ⋈ S = (R ⋈ S) ∪ R ⋈ S ∪ R⋈ S