Relationale Algebra: Aufgaben#
Hinweis: Du kannst die folgenden Aufgaben auch mit Relax lösen. Die Links zu den Basisschemata stehen an den Aufgaben.
Aufgabe 1#
Eine Bibliothek speichert ihre vorhandenen Exemplare mithilfe einer lokalen Kennung. Zu jeder lokalen Kennung gehört eine ISBN, die jedes Exemplar eindeutig identifiziert. Zusätzlich speichert die Bibliothek ihre Nutzer und die Bücher, welche die jeweiligen Nutzer ausgeliehen haben. In den folgenden Teilaufgaben erstellen Sie typische Anfragen in Relationaler Algebra an diese Bibliotheksdatenbank. Diskutieren Sie auch für jede Teilaufgabe, wie das Ausgabeschema der Anfrage aussieht und welche Instanzen ausgegeben werden würden.
Gegeben sein die folgende kleine Bibliotheksdatenbank:
Benutzer:#
Bid |
Vorname |
---|---|
1 |
Babsi |
2 |
Tad |
3 |
Odo |
4 |
Laila |
5 |
Pam |
Leiht_aus:#
Bid |
Signatur |
---|---|
1 |
KS345 |
5 |
ST220 |
1 |
JLb 12 |
2 |
ST270 |
5 |
ST270 |
Exemplar:#
Signatur |
ISBN |
---|---|
S2710 |
0-13-1X |
ST270 |
0-13-1X |
JLb 12 |
3-540-X |
ST220 |
0-544-X |
KS345 |
37020X |
Buch:#
ISBN |
Titel |
Sprache |
---|---|---|
0-13-1X |
Database Systems |
en |
3-540-X |
Wein : verstehen und geniessen |
de |
0-544-X |
Big data : a revolution that … |
en |
37020X |
Bierbrauen fuer jedermann |
de |
38266X |
Data Warehouse Technologien |
de |
Aufgabe 1.1#
Welche englischsprachigen Bücher (Titel) gibt es?
Aufgabe 1.2#
Welche Benutzer (Vornamen) haben noch nie ein Buch ausgeliehen?
Aufgabe 1.3#
Welche Benutzer (Vornamen) haben ein Exemplar mit dem Buchtitel „Bierbrauen fuer jedermann“ ausgeliehen?
Aufgabe 1.4#
Alle Benutzer (Vornamen), die mindestens zwei Exemplare ausgeliehen haben.
Aufgabe 2: Minimale und maximale Ausgabekardinalität von Operatoren#
Gegeben seien zwei kompatible Relationen R(A,B) und S(A,B).
Die Relationen enthalten jeweils |R| und |S| Tupel.
Welche Aussage können wir über die Kardinalität von |R ∪ S| treffen (Mengen)?
Maximal?
Minimal?
Welche Aussage können wir über die Kardinalität von |R ∪ S| treffen (Multimengen)?
Maximal?
Minimal?
Aufgabe 3: Regatta-Informationssystem#
Formulieren Sie für die folgenden Teilaufgaben die Anfragen in der Relationalen-Algebra, die zu den entsprechenden textuellen Anfragen korrespondieren. Beschreiben Sie außerdem jeweils das Ausgabeschema und welche Instanzen im Ergebnis enthalten sind.
Gegeben sei ein Regatta-Informationsschema mit den folgenden Relationen:
Bootsklasse:#
Klasse |
Bauart |
---|---|
Pirat |
Holz |
Folkeboot |
Holz |
H-Boot |
GFK |
Optimist |
GFK |
Wettfahrt:#
FahrtNr |
Name |
Datum |
Startzeit |
---|---|---|---|
1 |
Moorpokal |
18.6.03 |
10:00 |
2 |
Herbstmeister |
16.9.03 |
14:00 |
3 |
Franz Huber Gedenk Preis |
15.5.03 |
14:00 |
4 |
Blaues Band |
29.5.03 |
10:00 |
Platzierung:#
SegelNr |
Wettfahrt |
Platz |
---|---|---|
GER 4318 |
1 |
1 |
GER 4318 |
2 |
2 |
GER 4995 |
1 |
2 |
GER 4995 |
2 |
1 |
GER 5703 |
4 |
2 |
GER 5107 |
4 |
1 |
GER 5505 |
4 |
3 |
GER 1393 |
3 |
1 |
GER 3876 |
3 |
4 |
GER 4309 |
3 |
3 |
GER 4833 |
3 |
dnf |
GER 5503 |
3 |
2 |
Teilnehmer:#
SegelNr |
Name |
Bootsklasse |
Baujahr |
Farbe |
Eigner |
---|---|---|---|---|---|
GER 4318 |
Marie |
Pirat |
1992 |
Blau |
D. Dummer |
GER 4995 |
Celeste |
Pirat |
1991 |
Rot |
S. Schott |
GER 5703 |
Gruenspan |
Optimist |
1988 |
Gruen |
M. Meise |
GER 5107 |
Windrose |
Optimist |
1987 |
Lila |
V. Voelz |
GER 5503 |
Lisa |
H-Boot |
1983 |
Gruen |
H. Hiller |
GER 3999 |
Willi |
Optimist |
1989 |
Weiß |
E. Ernst |
GER 3876 |
No. Uno |
Folkeboot |
1993 |
Rot |
N. Nichts |
GER 4309 |
Elkche |
H-Boot |
1981 |
Blau |
M. Michel |
GER 4833 |
Martha H. |
H-Boot |
1994 |
Weiß |
O. Otter |
GER 5505 |
Pistensau |
Optimist |
1993 |
Braun |
F. Faser |
GER 1393 |
Carla F. |
Folkeboot |
1972 |
Weiß |
G. Gernhard |
Aufgabe 3.1#
Aus welchem Material (Bauart) wurde das Boot mit der Segelnummer „GER 4318“ gebaut und welcher Klasse gehört es an?
Aufgabe 3.2#
Wann starteten die Boote der Klasse ‘Optimist’ am 29.05.03 ins Rennen und welche Namen haben sie?
Aufgabe 3.3#
An welchen Wettfahrten (FahrtNr, Name) haben ausschließlich Holzboote teilgenommen?
Aufgabe 3.4#
Welche Bootsklassen nehmen am „Franz Huber Gedenk Preis“ oder am „Moorpokal“ teil?
Aufgabe 3.5#
Welche Boote (SegelNr, Name) konnten das Rennen „Blaues Band“ nicht beenden („dnf“)?
Aufgabe 3.6#
Wie viele Boote haben am „Franz Huber Gedenk Preis“ teilgenommen?
Aufgabe 3.7#
An welchen Wettfahrten (Namen) haben Boote aller Bauarten teilgenommen?
Aufgabe 4: Semantisches Verständnis#
Geben Sie das Ergebnis und die umgangssprachliche Formulierung der folgenden Relationalen-Algebra Ausdrücke an:
Regatta-Schema in ReLaX öffnen
Aufgabe 4.1#
\(\large \pi_{SegelNr} \ (\sigma_{Name = 'Herbstmeister'}\ \ (Wettfahrt \bowtie_{FahrtNr = Wettfahrt}(\sigma_{Platz = 1} \ (Platzierung))))\)
Aufgabe 4.2#
\(\large \pi_{SegelNr, Wettfahrt, Platz, Name, Datum, Startzeit} \ \ \ (\sigma_{Name = 'Herbstmeister'} \ \ (Wettfahrt \bowtie_{FahrtNr = Wettfahrt}(\sigma_{Platz = 1} \ (Platzierung))))\)
Aufgabe 4.3#
\(\large a = Platzierung \bowtie \ ( \pi_{SegelNr} \ ( \sigma_{Baujahr <1980} \ (Teilnehmer)))\)
\(\large \pi_{Name} \ ( Wettfahrt \bowtie_{FahrtNr = Wettfahrt} (a))\)
Hinweis: Zusatzmaterial befindet sich in 02_relationale_algebra_reframe_einfuehrung.ipynb
, 03_relationale_algebra_reframe_zusatz.ipynb
und 04_relationale_algebra_pragrammieraufgabe_zusatz.ipynb
. Die Zusatzmaterialien sind ohne Gewähr auf Richtigkeit.