Datenbanken:Prüfung 2006.02.28 Lehner
Lösungen: Datenbanken:Prüfunglösung 2006.02.28 Lehner
Inhaltsverzeichnis
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