Datenbanken:Prüfung 2005.08.05 Lehner

Aus Tudwiki
Wechseln zu: Navigation, Suche

Lösungen: Datenbanken:Prüfunglösung 2005.08.05 Lehner


Aufgabe 1[Bearbeiten]

Vererbung (8 Punkte)

Gegeben sei folgende Vererbungshierarchie:

  • Superklasse X mit den Attributen A1 und A2
  • Subklasse (zu X) Y mit dem zusätzlichen Attribut A3

Als Beispiele für die Vererbung dienen drei Objekte O1, O2 und O3, von denen O1 und O3 der Subklasse Y zuzuordnen sind, O2 dagegen der Superklasse X. Tabellarisch sind zu den Attributen die Attributwerte (alle vom Typ string) angegeben, z.B. O1 hat im Attribut A1 den Wert A11, im Attribug A2 den Wert A12 und im Attribut A3 den Wert A13.

O1
A1: A11
A2: A12
A3 A13
O2
A1: A21
A2: A22
O3
A1: A31
A2: A32
A3: A31

Bilden Sie die Vererbungshierarchie auf ein relationales Schema ab. Berücksichtigen Sie bei der Abbildung die Objektidentität. Für die Universalrelation sind das relationale Schema und die Ausprägungen gesucht, für die vertikale und horizontale Zerlegung nur die Schemata einschließlich Fremdschlüsselbeziehungen.

  • Universalrelation X-Y ( ) - Danach auszufüllende Tabelle mit 6 Spalten und 3 Zeilen für das Schema
  • Vertikale Zerlegung X ( ) und Y ( ) + Fremdschlüsselbeziehung
  • Horizontale Zerlegung X ( ) und Y ( ) + Fremdschlüsselbeziehung


Aufgabe 2[Bearbeiten]

ER-Modell (8 Punkte)

Es seien sieben Relationenschemata aus der Datenbank eines Weinhändlers gegeben. Pfeile bezeichnen die Fremdschlüsselbeziehungen, die unterstrichenen Attribute sind die Primärschlüssel.

  • Weine(WeinId, Name, Alter, Preis, Lieferant -> Weingut, Traube -> Trauben,Lieferant is not null, Traube is not null)
  • Trauben(Name, Farbe)
  • Weingut(Name, Adresse, Anbaugebiet)
  • BautAn(Lieferant -> Weingut, Traube -> Trauben)
  • Weinkeller(Name, Ort)
  • Lieferung(LiefId, Datum, Menge)
  • Lagert(WeinID -> Weine, Keller -> Weinkeller, LiefID -> Lieferung)


Weitere Randbedingungen seien: Trauben werden in höchstens 3 Weinen verwendet. Jedes Weingut liefert mindestens 5 und höchstens 10 Weine.


Leiten Sie aus diesem Datenbankschema das zugehörige ER-Diagramm inklusive Attributen, Primärschlüsseln und Funktionalitäten der Beziehungstypen mittels Min-/Max-Notation ab.

Aufgabe 3[Bearbeiten]

Relationenalgebra und SQL (22 Punkte)

Gegeben seien drei Relationen VATER, MUTTER und GESCHLECHT mit den Werten:

VATER vater kind
rudolf tina
rudolf bergit
bernd claudia
michael caterina
MUTTER mutter kind
vera tina
vera bergit
tina claudia
bergit caterina
GESCHLECHT name geschlecht
rudolf m
vera w
bernd m
tina w
michael m
bergit w
claudia w
caterina w

Gesucht sind Relationen ELTERN(eteil, kind), GESCHWISTER(kind1, kind2), und TANTE(kind, tante).

a) Stellen Sie zunächst die familiären Beziehungen der Personen untereinander als Graph dar.

b) ELTERN, GESCHWISTER und TANTE sind durch Ausdrücke der Relationenalgebra zu ermitteln. Hinweis: TANTE soll zu jedem Kind die Schwester seiner Mutter oder seines Vaters, eben seine Tante, enthalten.


c) ELTERN, GESCHWISTER und TANTE sind mittels SQL-Anfrage zu ermitteln

d) Welche Ausprägungen haben GESCHWISTER und TANTE bei den in der Aufgabe gegebenen Werten?

Aufgabe 4[Bearbeiten]

Funktionale Abhängigkeiten (14 Punkte) Gegeben sei ein Relationenschema R(A, B, C, D, E, F, G) mit den folgenden Ausprägungen:

A B C D E F G
1 0 9 1 3 8 6
2 0 7 1 4 3 6
3 0 2 1 3 8 6
4 2 9 2 5 5 3

a) Identifizieren Sie anhand der vorgegebenen Daten alle funktionalen Abhängigkeiten nach folgendem Schema:

x A B C D E F G
A x
B x
C x
D x
E x
F x
G x

b) Gibt es in R weitere funktionale Abhängigkeiten, welche sich nicht aus dem Schema unter a) ableiten lassen? Nennen Sie ggf. ein Beispiel.

c) Überführen Sie das Relationenschema R mit Hilfe des Schemata aus a) schrittweise in die 3. Normalform

Relationenschemata der 2NF:

( , , )

( , , )

(A, E, F)


Relationenschemata der 3NF:

( , , )

( , , )

( , )

( , )

d) Geben Sie die Ausprägungen der Relation R32 mit R32(E, F) an.

Aufgabe 5[Bearbeiten]

kanonische Überdeckung (10 Punkte)

Ermitteln Sie die kanonische Überdeckung des Relationenschemas R(A,B,C,D,E,F) mit der Menge der funktionalen Abhängigkeiten

FD = {A->CD, B->DEF, CD->ABE, D->CF, F->DE}

a) Linksreduktion

b) Rechtsreduktion (Reihenfolge egal kann aber andere Abhänigkeiten ergeben, die Anzahl der Abhängigkeiten bleiben gleich)

c) Die kanonische Überdeckung umfasst folgende funktionale Abhängigkeiten:

Aufgabe 6[Bearbeiten]

Transaktionen (10 Punkte)

Gegeben sei folgender Schedule mit 3 Transaktionen T1, T2, T3 und 14 Operationen:

Schritt T1 T2 T3
1 r1(A)
2 r2(B)
3 r2(C)
4 w2(B)
5 r1(B)
6 w1(A)
7 r2(A)
8 w2(C)
9 w2(A)
10 r3(A)
11 r3(C)
12 w1(B)
13 w3(C)
14 w3(A)

a) Identifizieren Sie sechs Konfliktfälle und geben Sie diese an.

b) Zeichnen Sie den Serialisierbarkeitsgraphen an:

c) Wann ist ein Ablaufplan serialisierbar und wie lautet die Aussage hinsichtliche der Serialisierbarkeit des gegebenen Schedules?

Aufgabe 7[Bearbeiten]

XML (12 Punkte)

Gegeben ist eine XML-Datei mit einer Vorlesungsübersicht (vorlesungen.xml) mit folgender Struktur:

 <vorlesungsverzeichnis>
   <vorlesung raum="R98">
     <titel>Architektur von Datenbanksystemen</titel>
     <vorlesender>
       <nachname>Knauer</nachname>
       <vorname>Herbert</vorname>
     </vorlesender>
     <seminarleiter>
       <nachname>Meier</nachname>
       <vorname>Rudolf</vorname>
     </seminarleiter>
     <seminarleiter>
       ...
     </seminarleiter>
     <uhrzeit>13.00</uhrzeit>
   </vorlesung>
   ...
 </vorlesungsverzeichnis>


a) Geben Sie einen XPath-Ausdruck an, der alle Vorlesungen auswählt, die im XML-Dokument vor der zweiten 9.00 Uhr Vorlesung stehen.

b) Beschreiben Sie, welche Elemente durch folgenden XPath-Ausdruck ausgewählt werden:

//vorlesung[seminarleiter]

c) Weiterhin ist eine Personalübersicht (personal.xml) mit folgender Struktur gegeben:

 <personal>
   <person>
     <nachname>Knauer</nachname>
     <vorname>Herbert</vorname>
     <status>Professor</status>
   </person>
   <person>
     ...
   </person>
 </personal>

Zu einigen Seminarleitern sind in personal.xml Angaben zum Status angegeben. Gesucht sind für jede Vorlesung die Seminarleiter und deren Status. Geben Sie eine entsprechende XQuery-Anweisung an, die auch Vorlesungen ausgibt, für die es keine Statusinformationen über die Seminarleiter gibt (Outer Joint Semantik)

Aufgabe 8[Bearbeiten]

B*-Baum (6 Punkte)

Gegeben sei eine Menge von Schlüsselwerten

 s = {3, 7, 1, 26, 4, 14, 12, 6, 2, 15, 13, 8, 10, 5, 11, 9}

Geben Sie alle Schritte an, die eine Strukturänderung bei der Erstellung eines B*-Baumes für k=2 und Eingabe der Schlüsselwerte in der angegebenen Reihenfolge bewirken. Die "kleiner-gleich" - Beziehung beim Wachstumsalgorithmus soll auf der linken Seite stehen.