Kontrollfragen

  1. Welche Eigenschaften besitzt ein Primärschlüssel, welche ein Fremdschlüssel?
  2. Was versteht man unter einem Tupel, einer Relation und einem Attribut?
  3. Was versteht man unter Entity-Integrität, referentieller Integrität und Domain-Integrität?
  4. Wie wird ein Objekt im Relationenmodell dargestellt?
  5. Welche (wichtigen) Operatoren sind in der Relationenalgebra definiert? Beschreiben Sie die Auswirkungen dieser Operatoren auf Relationen.

Aufgabe 1

Gegeben sind drei Relationen mit den folgenden Tupeln:

  1. Bilde serviert \times mag.
  2. Bilde serviert \bowtie mag. Welche Informationen beinhaltet diese Relation?
  3. Gib alle Bistros aus, die das Getränk servieren, das Karl mag. Überprüfe die Operation in der Relationenalgebra anhand des Beispiels.
  4. Gib alle Gäste aus, die mindestens ein Bistro besuchen, das auch das Getränk serviert, das sie mögen. Formuliere die Anfrage mit Operationen der Relationenalgebra.

Aufgabe 2

Gegeben seien folgende Relationen (# ist das Zeichen für Nummer):

Lieferanten ( L#, LName, Status, Stadt)
Teile ( T#, TName, Farbe, Gewicht, Stadt)
Projekte ( P#, PName, Stadt)
Lieferungen ( L#, T#, P#, Anzahl)

In den gegebenen Relationen bedeutet das Attribut Stadt einmal die Stadt, in der ein Lieferant sitzt, die Stadt, in der das entsprechende Teil hergestellt wird, bzw. die Stadt, in der ein Projekt stattfindet.

Löse die folgenden Aufgaben durch Operationen aus der Relationenalgebra:

  1. Finde alle Lieferungen mit Anzahlen zwischen 300 und 750 und gib alle dazu in der Relation Lieferungen verzeichneten Informationen aus.
  2. Gib alle Städte aus, in denen Lieferanten sitzen.
  3. Gib alle vorkommenden Paarungen TName, Stadt aus.
  4. Finde alle schwarzen Teile. Gib ihre Nummer und ihren Namen aus.
  5. Finde alle Lieferanten, die in einer Einzellieferung mehr als 150 Teile geliefert haben. Gib ihren Namen aus.
  6. Finden Sie alle Teile, die von Lieferanten in London geliefert wurden. Gib davon die Teilenummer (Teilenamen) aus.
  7. Finde alle Orte, in denen sowohl Projekte als auch Lieferanten beheimatet sind.
  8. Finde alle Projekte, die mindestens einen Lieferanten für das Projekt im gleichen Ort haben. Gib die Projektnummer aus.
  9. Finde alle Teile, die der Lieferant Lux geliefert hat. Gib alle Teilinformationen von diesen Teilen aus.

Aufgabe 3

Gegeben sind vier Relationen mit den folgenden Tupeln:

Führe folgende relationalen Operationen durch und stelle die Ergebnistabelle auf. Beschreibe die Aufgabenstellung mittels der definierten Symbolik.

  1. Selektion von Tabelle 1 mit der Bedingung B = 2
  2. Projektion von Tabelle 3 auf E
  3. Join Tabelle 1 und Tabelle 2 nach dem gemeinsamen Attribut C
  4. (Selektion von Tabelle 1 mit B > C) vereinigt mit (Selektion von Tabelle 1 mit A < 5)

Aufgabe 4

Gegeben sind folgende Relationen:

Kunden ( KNr, Name, Stadt, Saldo, Rabatt )
Produkte ( PNr, Bezeichnung, Gewicht, Preis, Lagerort, Vorrat )
Bestellungen ( BNr, Monat, Tag, KNr, PNr, Menge, Summe, Status )

Teil A

Analysieren Sie die Relationen. Stellen Sie die beiden Objekte mit ihrer Beziehung in einem ER-Modell (Chen) dar. Kennzeichnen Sie Primärschlüssel und Fremdschlüssel.

Teil B

  1. Finde alle Züricher Kunden.
  2. Finde alle Züricher Kunden, die einen Rabatt von mindestens 15% haben.
  3. Finde alle Produkte, die in Bern oder Genf gelagert werden und mehr als 2000€ kosten.
  4. Finde alle Bestellungen, die im Oktober getätigt wurden und noch nicht bezahlt sind.
  5. Gib alle Produktbezeichnungen aus.
  6. Gib alle Lagerorte von Produkten aus.
  7. Führe alle Bestellungen zusammen mit den dazugehörigen Produktdaten auf.
  8. Führe alle Kunden mit ihren Bestellungen auf.
  9. Finde alle Kunden, die an einem Lagerort wohnen.

Teil C

  1. Finden sie die Namen der Kunden mit negativem Saldo.
  2. Finden Sie die Namen der Kunden, die eine unbezahlte Bestellung haben, die vor Anfang Oktober erfolgte.
  3. Finden Sie die Namen der Züricher Kunden, die seit Anfang September ein Produkt aus Zürich geliefert bekommen haben.
  4. Finden Sie die Kundennummern der Kunden, von denen mindestens eine Bestellung registriert ist.
  5. Finden Sie die Kundennummern der Kunden, von denen keine Bestellung registriert ist.
  6. Finden Sie die Namen der Kunden, von denen keine Bestellung registriert ist.

Aufgabe 5

Gegeben sind die folgenden Relationen:

Geben Sie für die Anfragen jeweils einen Term in Relationenalgebra an.

  1. Welche PC-Modelle haben eine Geschwindigkeit von mindestens 1000 MHz?
  2. Welche Hersteller bauen Laptops mit einer Harddisk von mindestens 10 GB Größe?
  3. Finde die Modellnummern aller Farblaserdrucker.
  4. Finde die Modellnummer und den Preis aller Produkte (jeden Typs), die vom Hersteller ‘Apple‘ gebaut werden.
  5. Finde alle Hersteller, die Laptops, aber keine PCs herstellen.

Aufgabe 6

Gegeben sei folgendes Datenbankschema, in dem Informationen über Orte, Filme und das aktuelle Programm gespeichert sind:

Orte (Kino, Adresse, Telefon)
Filme (Titel, Regie, Schauspieler)
Programm (Kino, Titel, Zeit)

Interpretieren Sie folgende Ausdrücke der relationalen Algebra in natürlicher Sprache:

  1. \pi_{Regisseur} ( \sigma_{Schauspieler = 'Scarlett Johansson'} (Film))
  2. \pi_{Schauspieler} ( Filme \bowtie Programm )
  3. \pi_{Kino, Adresse} ( Orte \bowtie_{Kino=Titel} ( \pi_{Titel} ( \sigma_{Schauspieler = 'Humphrey Bogart'} (Filme)) \setminus \pi_{Titel} (Programm)))

Geben Sie für die Anfragen jeweils einen Term in Relationenalgebra an:

  1. In welchen Filmen (Titel) spielt Philip Seymour Hoffman mit?
  2. In welchen Kinos (Name und Adresse) laufen Filme mit Natalie Portman?
  3. Welche Regisseure haben noch nie mit Nicolas Cage gearbeitet?
  4. In welchen laufenden Filme spielen ausschließlich Schauspieler mit, die schon mal mit Steven Spielberg  gearbeitet haben?

Aufgabe 7

Für Supermärkte, ihre Leiter und Produkte gibt es folgendes Schema:

markt ( marktNr, ↑marktLeiter, ort)
produkt ( prodNr, prodBezeichnung, gewicht)
person ( persNr, vorname, nachname)
verfuegbar ( ↑marktNr, ↑prodNr, menge)

Ein Markt hat stets eine Person, die ihn leitet. Es ist für einzelne Produkte die Menge angegeben, die in einzelnen Märkten verfügbar ist.

  1. Finde die Nachnamen aller Marktleiter, die einen Markt in ”Koblenz“ leiten.
  2. Finde die Produktnummern aller Produkte, die in Märkten angeboten werden, deren Leiter mit Nachnamen ”Schmidt“ heißt.
  3. Finde die Produkte, deren Menge (in den jeweiligen Märkten) kleiner 5 ist, und gib hierfür Marktnummer, Produktbezeichnung und Menge an.