Ich poste einmal meine Lösung zu den Abfragen:
Aufgabe 2a)
SELECT Mitarbeiter.Gehalt, Mitarbeiter.Nachname, Mitarbeiter.Vorname
FROM Mitarbeiter, Filiale, Adresse, Fortbildung
WHERE Filiale.AdressNummer = Adresse.Adressnummer
AND Adresse.PLZ = '58097'
AND Mitarbeiter.Fortbildungnummer = Fortbildung.FortbildungNummer
AND Fortbildung.FortbildungName = 'Carving-Ski'
ORDER BY Mitarbeiter.Gehalt DESC
Aufgabe 2b)
SELECT Mitarbeiter.MitarbeiterNummer, Mitarbeiter.Nachname, Mitarbeiter.Vorname, Fortbildung.FortbildungName
FROM Mitarbeiter, Filiale, Fortbildung
WHERE Mitarbeiter.FilialNummer = Filiale.Filialnummer
AND Filiale.FilialBezeichnung = 'Sporty Hagen'
AND Mitarbeiter.FortbildungNummer = Fortbildung.FortbildungNummer
AND Fortbildung.FortbildungName = 'SkiFein'
AND Mitarbeiter.Gehalt > 2000
ORDER BY Mitarbeiter.MitarbeiterNummer ASC
Ich persönlich bin zwar ein Freund von Theorie aber umso ein Fan von Praxis. Ich habe mir einfach eine Datenbank erstellt und mit den Abfragen herumgespielt.
@Sophia85 : Im Prinzip geht es darum die Beziehungen zwischen den Relationen korrekt herzustellen. Die notwendigen Relationen ergeben sich aus der Aufgabenstellung.
Ich versuche mal mein Vorgehen anhand der Aufgabe 2b zu erläutern:
Das Ergebnis soll folgende Attribute anzeigen: Mitarbeiternummer, Vorname, Nachname, Fortbildungsname
Bedingungen:
- der Mitarbeiter arbeitet in einer Filiale mit der Bezeichnung "Sporty Hagen"
- der Mitarbeiter hat an der Fortbildung mit dem Namen "SkiFein" teilgenommen
- die Liste soll nur Mitarbeiter beinhalten, die mehr als 2000€ verdienen
Alle relevanten Informationen finden wir in den Relationen Mitarbeiter, Fililale sowie Fortbildung. Der SELECT und FROM Teil sieht ergibt sich daher zu:
SELECT Mitarbeiter.MitarbeiterNummer, Mitarbeiter.Nachname, Mitarbeiter.Vorname, Fortbildung.FortbildungName
FROM Mitarbeiter, Filiale, Fortbildung
Jetzt muss man die Relation Mitarbeiter mit der Relation Filiale "verknüpfen", dies geschieht über das Attribut "FilialNummer" da man nicht direkt an den gewünschten Datensatz erhält:
WHERE Mitarbeiter.FilialNummer = Filiale.Filialnummer
Jetzt schränkt man die Ergebnisse auf die Filiale mit Bezeichnung "Sporty Hagen" ein:
AND Filiale.FilialBezeichnung = 'Sporty Hagen'
Jetzt muss man noch die Relation Mitarbeiter mit der Relation "Fortbildung" verknüpfen, dies geschieht über das gemeinsame Attribut "FortbildungNummer":
AND Mitarbeiter.Fortbildungnummer = Fortbildung.FortbildungNummer
Und man schränkt die Suche wieder ein:
AND Fortbildung.FortbildungName = 'SkiFein'
Den Rest spar ich mir. Also es geht im Prinzip darum zu überlegen, über welche Relationen und Attribute man zu dem gewünschten Ergebnis kommt. Am besten finde ich immer noch etwas Praxis. Also am besten nen SQL-Server Express herunterladen, die paar Tabellen anlegen, mit ein paar Daten füllen und schauen was herauskommt, wenn man die Abfragen formuliert.