Einsendeaufgaben EA-Besprechung WS 2016/17 EA1 00817 (01.12.2016)

Hallo @dirk_s, vielen Dank für deine Rückmeldung.
Im Skript zur 1. Adobe Connect Veranstaltung werden in der Musterlösung des Mentors zur Übungsaufgabe auf Folie 56 drei Entitäten über einen Beziehungstyp miteinander kombiniert. Hier wird der Beziehungstyp "ist zugeordnet" genutzt, um die Entitäten "Ausgang", "Flug" und "Passagier" zu verbinden.
Ich habe mich daran orientiert.
 
Zuletzt bearbeitet:
Ich habe mal etwas recherchiert und bin nach einigen Websites auf YouTube gelandet:
(Stichwort: Mehrstellige Beziehungen), ab Minute 4:17. Bezogen auf die Folie der Veranstaltung ergibt das:
- Passagier x Flug = Ausgang
- Ausgang x Passagier = Flug

Ich denke, das sollte zur Klärung beitragen :)
 
In der Aufgabenstellung steht, dass die Notation mit einfacher Verbindungslinie zwischen den Entitäten genutzt werden soll.
Ist damit dann gemeint, dass die Rauten weggelassen werden sollen?!
 
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.

So sieht auch meine Lösung aus, nur die Reihenfolge ist anders. Die EA ist schon abgeschickt, von daher lässt sich bei mir nichts mehr ändern ;-)
 
An die Mentoriat-Teilnehmer, das heutige Mentoriat startet jetzt doch in 10 Minuten, also um 11.15 Uhr lt. Aussage des Chats. Falls doch noch jemand teilnehmen möchte, trotz Verspätung..
 
Zurück
Oben