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

Bibliotheks-Schema in ReLaX öffnen

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

Regatta-Schema in ReLaX öffnen

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.