Beruflich Dokumente
Kultur Dokumente
Semester ID Name
Name
Note
Diagramm i. Eine Lehrveranstaltung ist immer entweder eine Vorlesung oder ein Semi-
nar oder ein Praktikum (also genau eins von den dreien).
Diagramm ii. Vorlesung, Seminar und Praktikum können eine Lehrveranstaltung sein,
müssen es aber nicht (Beispiele - sollen nicht gezeichnet werden! - sind Vorlesungen
an der Kinder-Uni oder Seminare für die Öffentlichkeit).
Erläuterungen:
• Die Daten in den Tabellen sind exemplarisch, geben Sie für die unten gestellten
Aufgaben aber immer generelle Lösungen an! Alle Aufgaben lassen sich mit SQL-
Konstrukten lösen, die in der Vorlesung vorgestellt wurden.
• Sie dürfen in Ihren Lösungen die jeweils in den Klammern angegebenen Abkürzungen
für die Relationen verwenden.
a) Geben Sie an, wie viele Anstellungsverträge (Relation Anst) im aktuellen Jahr auslaufen,
und welche Gehaltssumme UniCorn dadurch monatlich einspart. Gehen Sie davon aus,
dass keine Verträge verlängert und keine neuen Mitarbeiter eingestellt werden.
(2 Punkte)
b) Geben Sie für jede Gehaltsklasse an, wie viele Angestellte in dieser Gehaltsklasse ange-
stellt sind.
(2,5 Punkte)
c) UniCorn möchte die Gehaltsverteilung pro Ort im Unternehmen analysieren lassen.
Hierfür beauftragt sie einen externen Dienstleister. Aus Datenschutzgründen stellt
UniCorn dem Dienstleister eine privatisierte Sicht auf die Daten zur Verfügung, auf der
der Dienstleister anschließend beliebige Anfragen ausführen darf.
(i) Erstellen Sie eine materialisierte Sicht Private(Ort, Gehalt). Sie enthält für jeden
Mitarbeiter ein Tupel. Zur Privatisierung wird dem Wert des Attributs Gehalt je-
weils eine Laplace-Zufallszahl hinzu addiert. Der Scale der Laplace-Verteilung λ
entspricht der maximalen Gehaltsdifferenz zwischen zwei Gehaltsklassen.
(3,5 Punkte)
Hinweis: Gehen Sie davon aus, dass eine Funktion Lap(λ) existiert, die eine Zufalls-
zahl aus der Laplace-Verteilung mit Scale λ zurückgibt.
(ii) Nehmen Sie an, der Dienstleister führt eine Anfrage auf der Sicht Private aus, die
die monatliche Gehaltssumme je Ort ausgibt. Geben Sie den absoluten Fehler in der
Gehaltssumme im Vergleich zu der wahren Gehaltssumme für jeden Ort aus, der
sich durch die Addition der Zufallszahlen ergibt.
(3,5 Punkte)
b) Gegeben sei die Relation R(A, B, C, D, E, F, G, H) mit der folgenden Menge an funk-
tionalen Abhängigkeiten:
F = {BC → F
D→E
G → AH
C → G}
Basierend auf F , sind folgende Aussagen richtig oder falsch? Begründen Sie.
(6 Punkte)
Datenbanksysteme 3 © fsmi.unikarlsruhe.de fsmi.kit fsmikit
Böhm SS 2019 EMail: infoklausuren@fsmi.unikarlsruhe.de
c) Gegeben sei ein Kalkül K (Ableitungsregeln) zur Berechnung der vollständigen Hülle
von funktionalen Abhängigkeiten:
KR1 : { } A→A
KR2 : {A → B, B → C} A→C
KR3 : {A → BC} A→B
(i) Erweitern Sie den K-Kalkül zu einem nicht minimalen Kalkül, sodass Sie damit
die A-Regel (Akkumulation), {X → Y Z, Z → V W } X → Y ZV aus dem RAP-
Kalkül ableiten können. Begründen Sie, dass Ihr erweiterter Kalkül nicht minimal
ist.
Hinweis: Minimal heißt in diesem Zusammenhang, dass keine Regel des erweiterten
Kalküls weggelassen werden kann, ohne die Vollständigkeit zu verletzen.
(ii) Geben Sie die Ableitung der A-Regel mit dem erweiterten Kalkül an.
(3 Punkte)
d) Gegeben seien die Relationen R und S. Der Join von R mit S wird nur anhand eines
Attributs durchgeführt, welches dem letzten Attribut von R und dem ersten Attribut
von S entspricht. Die Attribute von R sind daher (a1 , a2 , a3 ) und von S (a3 , a4 ). Q ist
eine weitere Relation mit dem gleichen Schema wie S.
(6 Punkte)
Geben Sie die Serialisierbarkeitsgraphen SG(H1 ), SG(H2 ), SG(H3 ) und SG(H4 ) an.
Beschriften Sie die Kanten der Serialisierbarkeitsgraphen mit den Objekten der konfli-
gierenden Operationen. Begründen Sie für jede Historie, ob sie serialisierbar ist.
(4 Punkte)
H2 = r1 [x] w2 [x] w2 [y] r3 [y] r2 [z] w2 [z] a2 r1 [y] w1 [x] a1 w3 [z] w3 [y] c3
H3 = r3 [y] r1 [x] r1 [y] w1 [x] a1 w2 [x] w2 [y] w3 [z] r2 [z] w2 [z] a2 w3 [y] c3
Alle drei Historien sollen auf Konflikte und Rücksetzbarkeit analysiert werden. Auf
den Antwortblättern ist dafür je eine Tabelle für H1 , H2 und H3 vorgesehen. Gehen
Sie beim Ausfüllen jeder Tabelle wie folgt vor:
• In der ersten Spalte notieren Sie das Konfliktpaar und zwar in der Reihenfolge,
wie die beiden Operationen in der jeweiligen Historie auftreten.
• Geben Sie in der zweiten Spalte an, welche Transaktionsreihenfolge durch das
Konfliktpaar impliziert wird. Verwenden Sie die Notation Ti < Tj , um auszu-
drücken, dass Ti vor Tj erfolgt.
• Notieren Sie in der dritten Spalte, ob das Konfliktpaar gegebenenfalls zu ei-
ner reads-from (RF)-, einer overwrite (OW)-Beziehung oder zu keiner der beiden
Beziehungen (“–”) führt.
• Zum Ausfüllen der drei letzten Spalten sollen die drei Rücksetzbarkeitsbedingun-
gen rücksetzbar (RC), kaskadenfrei-rücksetzbar (ACA) und strikt-rücksetzbar
(S TRICT) betrachtet werden. Überprüfen Sie für jeden Konflikt, ob er die Rücksetzbar-
keitsbedingungen erfüllt. Benutzen Sie die Symbole “X”, wenn eine Bedingung
erfüllt ist und “–” für eine verletzte Bedingung.
(7,5 Punkte)
Welche der Historien H1 , H2 , H3 sind konfliktäquivalent?
(0,5 Punkte)