Sie sind auf Seite 1von 6

Umbruch von Oegge

Version 1 09.07.2019 WS 18/19 21.02.2019

Datenbanksysteme
Dauer: ??? min. Lösung: keine Bestanden mit: 30 P.
Bemerkungen: keien Hilfsmittel erlaubt

1 Aufgabe 1: ER-Modellierung (15 Punkte)


a) Gegeben ist das in Abbildung 1 dargestellte ER-Modell. Die Primärschlüssel sind durch
Unterstreichen gekennzeichnet. Die Kardinalitätsangaben sind Teilnehmerkardinalitäten.

Anschrift Name PersoNr Kaufpreis Zeit PersoNr

[1,*] [1,*] [1,1] [0,*] [0,*]


Autohaus angestellt Verkäufer verkauft Käufer

[0,*] [1,1]
bietet
an Autotyp [0,*] gehört Auto
[1,1]
Name
zu

Hersteller Bezeichnung Listenpreis FahrgestellNr Adresse

Abbildung 1: Gegebenes ER-Modell für Teilaufgabe a).

Überführen Sie das ER-Modell aus Abbildung 1 kapazitätserhaltend in ein relationales


Modell. Optimieren Sie die Relationen dabei soweit wie möglich mit den in der Vorle-
sung vorgestellten Methoden. Kennzeichnen Sie Primärschlüssel durch Unterstreichen.
Kennzeichnen Sie einen Fremdschlüssel durch einen Pfeil zu dem Schlüssel, auf den
sich der Fremdschlüssel bezieht.
Hinweis: Verwenden Sie die auf dem Antwortblatt vorgegebene Struktur. Dort müssen
nicht alle Felder ausgefüllt werden.
(6 Punkte)

b) Gegeben ist der in Abbildung 2 dargestellte Ausschnitt des ER-Modells aus Teilaufga-
be a). In dieses Modell soll in jeder der folgenden Teilaufgaben ein neuer Entitätstyp
Akteur aufgenommen werden, der durch sein Attribut PersoNr eindeutig identifiziert
wird. Kennzeichnen Sie Primärschlüssel entsprechend der geforderten Diagrammart
und vergessen Sie nicht die Angabe von Teilnehmerkardinalitäten.

PersoNr PersoNr

[0,*] [0,*]
Verkäufer verkauft Käufer

FahrgestellNr Auto [1,1]

Abbildung 2: Gegebenes ER-Modell für Teilaufgabe b).

i. Zeichnen Sie ein ER-Diagramm basierend auf Abbildung 2, bei dem es nur noch
einen Entitätstyp Akteur statt Käufer und Verkäufer gibt. Stellen Sie dabei sicher,
dass immer genau zwei Akteure an der Beziehung verkauft beteiligt sind, aber
zugleich jeder Akteur beliebig oft an dieser Beziehung teilnehmen kann.
ii. Zeichnen Sie ein ER-Diagramm basierend auf Abbildung 2, bei dem sich Verkäufer
und Käufer in einer IST-Beziehung zum neuen Entitätstyp Akteur befinden.
Datenbanksysteme 1 © fsmi.uni­karlsruhe.de fsmi.kit fsmikit
WS 18/19 E­Mail: info­klausuren@fsmi.uni­karlsruhe.de
iii. Zeichnen Sie ein EER-Diagramm basierend auf Abbildung 2, bei dem Verkäufer
und Käufer Spezialisierungen eines Akteurs gemäß dem neuen Entitätstyp Akteur
sind.

(6 Punkte)

c) i. Definieren Sie Schlüsselkandidat.


ii. Definieren Sie Primärschlüssel.
iii. Warum werden im ER-Modell keine Fremdschlüssel explizit dargestellt?
(3 Punkte)

Aufgabe 2 – SQL (15 Punkte)


Nehmen Sie an, dass Sie eine Auktion mit verschiedenen Produkten und Bietern vorbereiten
sollen. Die zugehörigen Daten werden in der folgenden Form erfasst: Für jedes Produkt
wird die id und der Startpreis (basePrice) in der Relation product festgehalten. Die Bieter
werden mit Namen und Budget in der Relation bidder erfasst. In der Relation interest
ist enthalten, welche Bieter sich für welches Produkt interessieren. Erstellen Sie für die
Teilaufgaben a) bis d) jeweils eine SQL-Anfrage.
Erläuterung: Nehmen Sie die nachfolgend abgebildete Tabellenstruktur an. Die Daten in
den Tabellen sind exemplarisch. Geben Sie immer generelle Lösungen an! Alle Aufgaben
lassen sich mit Konstrukten lösen, die in der Vorlesung vorgestellt wurden.

interest
product
bidder id product id
id basePrice
bidder b1 p1
p1 5,000
b1 p2
id name budget p2 2,500
b1 p4
b1 Vodafone 8,000 p3 4,200
b2 p2
b2 O2 7,000 p4 11,000
b2 p4
b3 Tallia 10,000 p5 9,500
b2 p5
p6 9,500
b3 p3
p7 9,000
b3 p4
b3 p6

a) Bestimmen Sie die Anzahl der Interessenten für jedes Produkt. (2 Punkte)
b) Bestimmen Sie den dritthöchsten Startpreis (basePrice) aller Produkte. (3 Punkte)
Hinweis: Produkte mit gleichem Preis zählen nur einmal. Daher ist das Ergebnis für
die Beispieldaten 9,000 (p7), nicht 9,500 (p5 und p6).
c) Bestimmen Sie die Menge der Bieter, die sich mindestens ein Produkt nicht leisten
können, für welches sie sich interessieren. (3 Punkte)
d) Geben Sie id, Startpreis (basePrice) und Anzahl der Interessenten für alle Produkte
aus, für die sich mindestens zwei Bieter interessieren. (3 Punkte)
e) Gegeben ist folgende SQL-Anfrage:
SELECT product.id
FROM product left join interest on (product.id=interest.product_id)
WHERE interest.product_id is null
i) Geben Sie das Ergebnis bezüglich des Beispieldatensatzes an. (1 Punkt)
ii) Erläutern Sie kurz und in natürlicher Sprache das zugrundeliegende Informations-
bedürfnis. (1 Punkt)
Datenbanksysteme 2 © fsmi.uni­karlsruhe.de fsmi.kit fsmikit
WS 18/19 einen Ausdruck inE­Mail:
f) Geben Sie für die folgende SQL-Anfrage info­klausuren@fsmi.uni­karlsruhe.de
relationaler Algebra entwe-
der in Baumform oder als Formel an. (2 Punkte)
können, für welches sie sich interessieren. (3 Punkte)
d) Geben Sie id, Startpreis (basePrice) und Anzahl der Interessenten für alle Produkte
aus, für die sich mindestens zwei Bieter interessieren. (3 Punkte)
e) Gegeben ist folgende SQL-Anfrage:
SELECT product.id
FROM product left join interest on (product.id=interest.product_id)
WHERE interest.product_id is null
i) Geben Sie das Ergebnis bezüglich des Beispieldatensatzes an. (1 Punkt)
ii) Erläutern Sie kurz und in natürlicher Sprache das zugrundeliegende Informations-
bedürfnis. (1 Punkt)
f) Geben Sie für die folgende SQL-Anfrage einen Ausdruck in relationaler Algebra entwe-
der in Baumform oder als Formel an. (2 Punkte)
SELECT distinct bidder.name FROM bidder, interest
WHERE bidder.id = interest.bidder_id and bidder.budget > 5,000

Aufgabe 3 – Relationale Theorie (15 Punkte)


a) Gegeben sei die Relation R(A, B, C, D, E, G, H) mit der folgenden Menge an funktio-
nalen Abhängigkeiten:
F = {A → BD
B → CD
AC → E
BG → H
H → B}

i. Finden Sie den Schlüssel(-Kandidaten) für R mit den funktionalen Abhängigkeiten


F.
ii.Transformieren Sie R mit dem Synthesealgorithmus in 3NF. Geben Sie dabei die
Zwischenergebnisse der Schritte des Algorithmus an.

(5 Punkte)

b) Gegeben sei die Relation R(X, Y, W, Z) mit der mehrwertigen Abhängigkeit X  Y .


Vervollständigen Sie die folgende Tabelle für R, sodass X  Y gilt.

X Y W Z
t1 = α β1 γ1 ω1
t2 = α β2 γ2 ω2
t3 =
t4 =

(2 Punkte)

c) Gegeben sei die Relation R(A, B, C, D, E, F ) mit den funktionalen Abhängigkeiten F:


F = {DA → CE
BDE → C
DF → BA
BC → D
E → FA
D→B
CF → D
Datenbanksysteme 3 E} © fsmi.uni­karlsruhe.de fsmi.kit fsmikit
WS 18/19
CD → E­Mail: info­klausuren@fsmi.uni­karlsruhe.de
t3 =
t4 =

(2 Punkte)

c) Gegeben sei die Relation R(A, B, C, D, E, F ) mit den funktionalen Abhängigkeiten F:


F = {DA → CE
BDE → C
DF → BA
BC → D
E → FA
D→B
CF → D
CD → E}

Gegeben F ; sind folgende Aussagen richtig oder falsch? Begründen Sie jeweils Ihre
Antwort.

Aussage Antwort Begründung

Der Abschluss von CD ist {B, E, F, A}

Der Abschluss von CD enthält alle Attribute

CD ist der einzige Schlüsselkandidat von R

BCD ist ein Schlüsselkandidat von R

(3 Punkte)

d) Gegeben sei die Relation R(A, B, C) mit den funktionalen Abhängigkeiten F:


F = {C → B
B → A}
R enthalte ein einziges Tupel (0, 0, 0).
Welche der folgenden Tupel können in R eingefügt werden? (Es gibt nur Punkte für die
komplett richtige Antwort.)

Tupel Kann eingefügt werden? (Ja/Nein)

(1,0,1)

(0,1,1)

(0,2,0)

(0,1,0)

(1 Punkt)

e) Gegeben sei ein Kalkül K (Ableitungsregeln) zur Berechnung der vollständigen Hülle
der funktionalen Abhängigkeiten einer Relation:

KR1 : { } A→A
KR2 : {A → B, B → C} A→C
KR3 : {A → BC} A→B

i. Erweitern Sie den K-Kalkül minimal, sodass Sie die A-Regel (Akkumulation),
{X → Y Z, Z → V W }  X → Y ZV , aus dem RAP-Kalkül ableiten können.
Minimal heißt in diesem Zusammenhang: keine Regel des erweiterten Kalküls
kann weggelassen werden, ohne die Vollständigkeit zu verletzen.
ii. Leiten Sie die A-Regel mit dem erweiterten Kalkül ab. (3 Punkte)
Datenbanksysteme 4 © fsmi.uni­karlsruhe.de fsmi.kit fsmikit
(3 Punkte)
WS 18/19 E­Mail: info­klausuren@fsmi.uni­karlsruhe.de
Aufgabe 4 – Transaktionsverwaltung (15 Punkte)

a) Gegeben sind die Transaktionen T1 bis T7 und die partiellen Ordnungen P1 , P2 und
P3 . Die optionalen, gestrichelten Kanten in den partiellen Ordnungen sind mögliche
Ergänzungen.
(6 Punkte)

i. Ergänzen Sie – falls möglich – für P 1 eine der optionalen Kanten so, dass sich
dadurch (1.) eine vollständige Historie, sowie (2.) keine vollständige Historie ergibt.
Falls eine solche Ergänzung nicht möglich ist, geben Sie dies als Antwort an.
T1 : {r1 [y], w1 [x], w1 [y], c1 } T2 : {r2 [x], w2 [y], r2 [y], c2 }
P1

r1 [y] w1 [x] c1

a b

r2 [x] w2 [y] c2

ii. Ergänzen Sie – falls möglich – für P 2 mindestens drei der optionalen Kanten so,
dass sich dadurch (1.) eine vollständige Historie, sowie (2.) keine vollständige
Historie ergibt. Falls eine solche Ergänzung nicht möglich ist, geben Sie dies als
Antwort an.
T3 : {w3 [y], r3 [y], c3 } T4 : {w4 [x], r4 [y], c4 }
P2
a
r3 [y] w3 [y] c3

c
b

d
w4 [x] r4 [y] c4

iii. Bestimmen Sie für P3 , ob die jeweils angegebene Kantenmenge die partielle Ord-
nung zu einer vollständigen Historie ergänzt. Geben Sie jeweils entweder Ja oder
Nein als Antwort an.
Hinweis: falsche Antworten führen zu Punktabzug. Diese Teilaufgabe hat mindes-
tens 0 Punkte.

Datenbanksysteme 5 © fsmi.uni­karlsruhe.de fsmi.kit fsmikit


WS 18/19 E­Mail: info­klausuren@fsmi.uni­karlsruhe.de
T5 : {w5 [x], r5 [x], r5 [z], c5 } T6 : {r6 [y], w6 [x], w6 [y], r6 [z], c6 } T7 : {w7 [z], w7 [y], c7 }

P3
Kanten Ja Nein
w7 [y] w7 [z]
{b, d}
c
d b {a, b, d}
r6 [z] w6 [y] w6 [x] r6 [y] c6 {a, c, e}
a {e, c, d}
e
{a, c, d, e}
r5 [z] r5 [x] w5 [x] c5 c7
{a, b, c, d, e}

b) Gegeben sei folgende unvollständige Historie H1 :

H1 = r1 [B] r2 [B] w2 [B] c2

(i) Ergänzen Sie die Historie H1 so, dass mit der minimalen Anzahl an Operationen
ein Dirty Read, Lost Update und Non-Repeatable Read entsteht und es sich um
eine vollständige Historie handelt. Nutzen Sie bitte die vorgegebenen Lücken auf
dem Antwortblatt. Fügen Sie maximal eine Operation pro Lücke ein.
(ii) Geben Sie alle ACID-Eigenschaften mit vollem Namen an, die durch die Probleme
Dirty Read, Lost Update und Non-Repeatable Read verletzt werden. Begründen Sie
jede genannte Eigenschaft.
(iii) Welche minimale Rücksetzbarkeitsklasse schließt aus, dass ein
(1) Dirty Read
(2) Lost Update
entsteht? Begründen Sie jeweils Ihre Antwort.

(6 Punkte)

Datenbanksysteme 6 © fsmi.uni­karlsruhe.de fsmi.kit fsmikit


WS 18/19 E­Mail: info­klausuren@fsmi.uni­karlsruhe.de

Das könnte Ihnen auch gefallen