Datenbanken:Übung 3

Aus Tudwiki
Wechseln zu: Navigation, Suche

1. Gegeben sei die folgende Datenbank, in der die Vereine, Spiele, Trainer und die Spieler mit ihren Einsätzen für die laufende Saison verwaltet werden:

VEREIN(VNAME, ORT, PRÄSIDENT)

SPIELE(HEIM, GAST, RESULTAT, ZUSCHAUER, TERMIN, SPIEL-TAG, H-TRAINER, G-TRAINER)

SPIELER(SPNR, NAME, VORNAME, VNAME, ALTER, GEHALT, GEB-ORT)

TRAINER(TRNR, NAME, VORNAME, VNAME, ALTER, GEHALT, GEB-ORT)

EINSATZ(HEIM, GAST, SPNR, VON, BIS, TORE, KARTE)

Formulieren Sie folgende Anfragen mit der Relationenalgebra:

(a) Welche Spieler (Spielernamen) haben beim Spiel FC Cottbus - FC Bayern München mitgewirkt?
$ \pi_\mathrm{NAME}(\sigma_\mathrm{HEIM='FC ~ Cottbus' \and GAST='FC ~ Bayern ~ M\ddot unchen'} (EINSATZ \bowtie SPIELER)) $
(b) Welche Spiele sind 2:0 ausgegangen?
$ \pi_\mathrm{HEIM,GAST}(\sigma_\mathrm{RESULTAT='2:0'} (SPIELE)) $
(c) Welche Spieler (Spielernamen) spielen in einem Verein ihres Geburtsortes?
$ \pi_\mathrm{NAME}(\sigma_\mathrm{GEB-ORT=ORT}(SPIELER \bowtie VEREIN)) $
(d) Wie heißen die Präsidenten der Vereine, die zur Zeit einen Trainer beschäftigen, der jünger ist als der älteste Spieler?
$ \pi_\mathrm{PR\ddot ASIDENT}(VEREIN \bowtie \sigma_\mathrm{TRAINER.ALTER < max(SPIELER.ALTER)}(TRAINER \bowtie SPIELER)) $
(e) Welche Spieler (SPNR) haben bisher noch nie gespielt?
$ \pi_\mathrm{SPNR}(\sigma_\mathrm{(HEIM \or GAST) ~ is ~ null}(SPIELER ~ ROJ ~ EINSATZ)) $
(f) Welche Spieler (SPNR) haben bisher noch kein Tor geschossen?
$ \pi_\mathrm{SPNR}(SPIELER - \sigma_\mathrm{DISTINCT ~ SPNR}(\sigma_\mathrm{TOR ~ is ~ null}(EINSATZ))) $
(g) Welche Spieler (SPNR), die 20 Jahre und jünger sind, wurden schon eingesetzt?
$ \pi_\mathrm{SPNR}(\sigma_\mathrm{DISTINCT ~ SPNR ~ \and ~ ALTER \le 20}(EINSATZ)) $
(h) Welche Spieler (SPNR) haben ein höheres Gehalt als der Trainer?
$ \pi_\mathrm{SPNR}(\sigma_\mathrm{SPIELER.GEHALT>TRAINER.GEHALT}(SPIELER \bowtie TRAINER)) $


2. Gegeben... blah blah, keine Lust einzutippen.

(a) blah blah
Lieferanten, die nur Teilnummer 15 liefern.
(b) blah blah
Alle Lieferanten, die am 17.11 mehr als 1000 Nageln geliefert haben.
(c) blah blah
Teilenummer von Teilen, in die irgendeinen Schrauben direkt eingehen.