Hallo,
ich bereite mich gerade auf eine Prüfung im Fach Datenbanken vor.
Ich habe ein paar Aufgaben, aber leider keine Lösungen und jetzt würde ich gerne wissen, ob meine Lösungen richtig sind.
Also hier die Aufgabe:
Gegeben Relationenschema
Schauspieler (PNr, Wohnort, Name, Gage)
Darsteller (PNr,Figur, AJahr, AOrt, Theater)
Rolle (Figur, Titel, R-Geschlecht)
Drama (Titel, U-Ort, U-Jahr, Autor)
Dichter (Autor, G-Ort, G-Jahr)
mit AJahr=Aufführungsjahr, AOrt=Aufführungsort, U-Ort= Ort der Uraufführung, U-Jahr= Jahr der Uraufführung
Gesucht sind folgende SQL-Anfragen:
a) An welchen Orten wurden mehr als zwei Dramen uraufgeführt?
b) Gib den Schauspielern, die am Thalia-Theater arbeiten, eine Gehaltserhöhung von 5%.
c) Welche Schauspieler (PNr, Name) haben in Weimar ausschließlich im "Faust" mitgespielt?
d) Welche Schauspieler (Name, Wohnort) haben bei in Weimar uraufgeführten Dramen an ihrem Wohnort als "Held" mitgespielt?
Meine Lösungen:
a) SELECT U-Ort FROM Drama GROUP BY U-Ort HAVING COUNT(*)>2;
b) SELECT Gage *1,05 FROM Schauspieler, Darsteller WHERE PNr.Schauspieler=PNr.Darsteller AND Theater='Thalia';
c) SELECT PNr, Name FROM Schauspieler, Darsteller, Rolle WHERE PNr.Schauspieler=PNr.Darsteller AND Figur.Darsteller=Figur.Rolle AND Titel='Faust' and A-Ort='Weimar';
d) SELECT Namen, Wohnort FROM Schauspieler, Darsteller, Rolle, Drama WHERE Titel.Rolle=Titel.Drama AND Figur.Darsteller=Figur.Rolle AND PNr.Schauspieler=PNr.Darsteller AND U-Ort='Weimar' AND Wohnort='Weimar AND Figur.Rolle='Held';
Kann mir jemand sagen, ob das richtig ist? Bei c) glaube ich ist ein Fehler. Da bei mir glaub ich Schauspieler rauskommen, die bei Faust und bei anderen Aufführungen mitgespielt haben.
Vielen Dank im Voraus
riju