Datenbanken:Prüfung 2006.02.28 Lehner

Aus Tudwiki
Wechseln zu: Navigation, Suche

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


Aufgabe 1 (10 Punkte)[Bearbeiten]

Universalrelationskram :) siehe SS2005 Aufgabe 1

Aufgabe 2 (8 Punkte)[Bearbeiten]

Gegeben sei die folgende relationale Datenbank:
Teile: T (TNR, TBEZ, TGEW)
Lieferant: L (LNR, LNAME, LORT)
Lieferung: LF (TNR, LNR, DATUM, MENGE)
Stückliste: STL (OTNR, UTNR, ANZAHL)
Lager: LG (ORT, TNR, MENGE)

wobei:
TNR - Teilenummer, TBEZ - Teilebezeichnung, TGEW – Teilegewicht;
LNR – Lieferantennummer, LNAME _ Lieferantenname, LORT – Lieferantenort;
OTNR/UTNR – Teilenummer des Ober- bzw. Unterteils.
Die restlichen Attribute ORT, MENGE, ANZAHL und DATUM sind selbsterklärend.

Welches ist die umgangssprachliche Formulierung der folgenden in der Relationenalgebra ausgedrückten Anfragen:

a) $ \Pi_{LNAME}(L \bowtie (\Pi_{LNR}\sigma_{TNR=15}(LF)-\Pi_{LNR} \sigma_{TNR<>15} (LF)))\, $
b) $ \Pi_{OTNR}(STL \bowtie_{UTNR = TNR} (\sigma_{TBEZ = 'SCHRAUBE'}(T)))\, $

Aufgabe 3 (30 Punkte)[Bearbeiten]

Relationen:

Mitarb(Mnr,Name,Vorname,Abtnr,Gehalt),
Mitpro(Pnr,Mnr,Stdanz),
Projekt(Pnr,Pname,PBez,Fnr,PLeiter,Abschlussdatum),
Firma(Fnr,Fname),
Abteilung(Abtnr,Abtbez,Aleiter)

Anfragen:

  • Abteilungsleiter des Mitarbeiters Krämer
  • Alle Projektleiter mit Name,Projektnummer,Abschlussdatum
  • Durchschnittliches Gehalt aller Abteilungen ohne Projektleiter danach sortiert
  • Mitarbeiter-Nummer, Projektname, Firmenname und Stdanz des Projektes mit der geringsten Stdanzahl eines Mitarbeiters
  • View erstellen mit Abtnr und Anzahl der Mitarbeiter pro Abteilung
  • Gehalt aller Mitarbeiter die in der Abteilung 'RZ' arbeiten um 10% erhöhen (Update)

Aufgabe 4 (10 Punkte)[Bearbeiten]

Gegeben sei folgende Menge funktionaler Abhängigkeiten (sind noch nicht ganz richtig :) : F = ({A}->{C,D}, {B}->{E,F}, {C,D}->{A,B,E}, {D}->{C,E,F}, {F}->{E,D}

Berechnen Sie die kanonische Überdeckung!

Rechtsreduktion:

Linksreduktion:

Ergebnis:

Aufgabe 5 (8 Punkte)[Bearbeiten]

Transaktionen

a) Ablauf= r1(a),r2(b),r1(b),w1(a),w2(a),c2,w1(b),c1

T1 und T2 ist es serialisierbar? was kommt bei gegebenen a=10 und b=5 heraus?

b) a1 = abort T1

eigener Ablauf = ... a1

Erstelle eigenen Ablauf mit Dirty Read wobei a1!

Aufgabe 6 (12 Punkte)[Bearbeiten]

XML-Datei (vorlesung.xml)

<vorlesung>
  <vorlesender>
    <nachname>Lehner</nachname>
    <vorname>Wolfgang</vorname>
  </vorlesender>
  ...
</vorlesung>

a) Geben Sie alle Attribute der zweiten Vorlesung an

b) Gibt es einen Unterschied zwischen den beiden XPath-Ausdrücken?

//vorlesung[position()=2][@vorlesung="11:00"]

//vorlesung[@vorlesung="11:00"][position()=2]

c) Gegeben sei folgende weitere XML-Datei (personal.xml)

<personal>
  <person anzahlVL="3">
    <nachname>Lehner</nachname>
    <vorname>Wolfgang</vorname>
    <status>Professor</status>
  </person>
</personal>

Geben Sie eine XQuery-Programm an, welches das attribut anzahlVL mittels dem Nachnamen und vorlesung.xml berechnet. Dabei ist der Nachname eindeutig.


Aufgabe 7 (12 Punkte)[Bearbeiten]

R-Bäume