Deutsch -> Relationale Algebra

Betrachte das folgende relationale Schema einer Bibliothek mit Zweigniederlassungen:

  • Kunde(KartenID, Name, Adresse, Telefon)
  • Buch (BuchID, Titel)
  • Autor(Name, BuchID) mit BuchID → Buch.BuchID
  • Zweigbibliothek (ZweigID, ZweigName, Adresse)
  • BuchBestand(BuchID, ZweigID, AnzahlKopien) mit BuchID → Buch.BuchID ZweigID → Zweigbibliothek.ZweigID
  • Ausleihe(BuchID, ZweigID, KartenID, Ausleihdatum, Faelligkeitsdatum) mit BuchID → Buch.BuchID ZweigID → Zweigbibliothek.ZweigID KartenID → Kunde.KartenID

Formuliere die folgenden Anfragen als Anfragen der relationalen Algebra.

  1. Wieviele Exemplare des Buchs mit dem Titel "Database Systems" gehören der Zweigbibliothek namens Griebnitzsee? (2P)

  2. Wieviele Exemplare des Buchs mit dem Titel "Database Systems" gehören den einzelnen Zweigbibliotheken? (2P)

  3. Liste die Namen aller Personen auf, die noch keine Bücher ausgeliehen haben. (3P)

  4. Suche für jedes Buch, das aus der Zweigbibliothek namens Griebnitzsee ausgeliehen wurde und dessen Fälligkeitsdatum 2012-06-03 ist, den Titel sowie Namen und die Adresse der Person, die das Buch ausgeliehen hat. (3P)

Solution
    1. ´pi_"Anzahl"(´ ´gamma_("Titel",SUM("AnzahlKopien") -> "Anzahl")´ ´(sigma_("Titel"="Database Systems" ^^ "ZweigName"="Griebnitzsee")´ ´(("Buch" ⋈ "Buchbestand") ⋈ Zweigbibliothek)))´

    2. ´pi_("ZweigName", "Anzahl")(´ ´gamma_("Titel",SUM("AnzahlKopien") -> "Anzahl")´ ´(sigma_("Titel"="Database Systems")´ ´(("Buch" ⋈ "Buchbestand") ⋈ Zweigbibliothek)))´

    3. ´pi_"Name"(("Kunde" - pi_("KartenID", "Name", "Adresse", "Telefon")("Ausleihe" ⋈ "Kunde")))´

    4. ´pi_("Titel", "Name", "Kunde.Adresse")(´ ´((sigma_("ZweigName"="Griebnitzsee")("Zweigbibliothek") ⋈ sigma_("Faelligkeitsdatum"="2012-06-03")("Ausleihe"))´ ´ ⋈ "Buch") ⋈ "Kunde")´

  • URL:
  • Language: Deutsch
  • Subjects: Databases Math
  • Type: Name
  • Duration: 30min
  • Credits: 10
  • Difficulty: 0.6
  • Tags: relational schema query relational algebra
  • Note:
    HPI, 2015-06-01, Datenbanksysteme 1, Aufgabe 2.3
  • Created By: adius
  • Created At:
    2015-07-26 21:59:01 UTC
  • Last Modified:
    2015-07-26 22:01:25 UTC