Einsendeaufgaben EA-Besprechung WS 2013/14 EA1 00817 (05.12.2013)

Hallo zusammen,

habe mich mal an die Einsendearbeit gewagt:

Aufgabe 1:

a) Siehe Anhang

Aufgabe 1.JPG

Wie stellt man das mit den mindestens 5 Haltestellen dar?

b)

SELECT Kapitän.KapitänName, Kapitän.Gehalt
FROM Kapitän, Schiffstyp
WHERE Kapitän.Wohnort = 'Hamburg'
AND Schiffstyp.SchiffstpName = 'Containerschiff'
ORDER BY Gehalt DESC


SELECT Schiff.SchiffsName
FROM Fahrt, Fahrtgebiet, Schiff
GROUP BY Fahrgebiet.FahrtgebietName = ' Atlantik"
HAVING COUNT (*) > 2

c)

F (KE 2, Seite 75)
R (KE 2, Seite 58)
R (KE 4, Seite 12)
F (KE 1, Seite 17)
F (KE 1, Seite 19)
R (KE 3, Seite 10)

Was meint ihr dazu?
 
Hallo zusammen,

habe mich mal an die Einsendearbeit gewagt:

Aufgabe 1:

a) Siehe Anhang

Anhang anzeigen 1745

Wie stellt man das mit den mindestens 5 Haltestellen dar?

b)

SELECT Kapitän.KapitänName, Kapitän.Gehalt
FROM Kapitän, Schiffstyp
WHERE Kapitän.Wohnort = 'Hamburg'
AND Schiffstyp.SchiffstpName = 'Containerschiff'
ORDER BY Gehalt DESC


SELECT Schiff.SchiffsName
FROM Fahrt, Fahrtgebiet, Schiff
GROUP BY Fahrgebiet.FahrtgebietName = ' Atlantik"
HAVING COUNT (*) > 2

c)

F (KE 2, Seite 75)
R (KE 2, Seite 58)
R (KE 4, Seite 12)
F (KE 1, Seite 17)
F (KE 1, Seite 19)
R (KE 3, Seite 10)

Was meint ihr dazu?

So, nach erneutem Durchdenken der EA, hab ich noch ein paar Fehler ausgebessert.

Bei Aufgabe 1 a) hab ich mich entschieden statt der m>4 anzugeben, bin allerdings nicht sicher, ob das so richtig ist.

Bei b) hab ich nun folgendes

SELECT Kapitän.KapitänName, Kapitän.Gehalt
FROM Kapitän, Schiffstyp
WHERE Kapitän.Wohnort = 'Hamburg'
AND Schiffstyp.SchiffstypNr=Kapitän.SchiffstypNr
AND Schiffstyp.SchiffstypName = 'Containerschiff'
ORDER BY Kapitän.Gehalt DESC


Und bei c)

SELECT COUNT Schiff.SchiffsName
FROM Fahrt, Fahrtgebiet, Schiff
WHERE Schiff.SchiffsNr=Fahrt.SchiffsNr
AND Fahrt.FahrtgebietNr=Fahrtgebiet.FahrtgebietNr
AND Fahrtgebiet.FahrtgebietName='Atlantik'
GROUP BY Schiff.SchiffsName
HAVING COUNT (*) >= 3
 
Hallo Luffi,
ich fange jetzt gerade mit der EA an und werde mich, sobald ich etwas vorzuweisen habe, hier melden.

Gruß
Maik
 
So, Aufgabe 1.
Ich nehme mal die Sachen, die ich anders habe.
Linie <--m--------m--> Haltestelle (eine 5 gibt es nicht m immer >0 somit gültig)
Schicht <--c--------c-->Bus (Hier bin ich mir nicht sicher, werde ich morgen noch mal durchgehen)

Zu den Spezialisierungen bzw. Generalisierungen habe ich nichts in der Aufgabe 1 gefunden,
was man hier bearbeiten könnte. Auch rekursive Beziehungen konnte ich auch keine erstellen.
 
Bei b) würde ich mit INNER JOIN arbeiten:

SELECT Kapitän.KapitänName, Kapitän.Gehalt
FROM Kapitän INNER JOIN Schiffstyp ON Kapitän.SchiffstypNr = Schiffstyp.SchiffstypNr
WHERE Kapitän.Wohnort="Hamburg" AND Schiffstyp.SchiffstypName="Containerschiff"
ORDER BY Kapitän.Gehalt DESC;
 
So, Aufgabe 1.
Ich nehme mal die Sachen, die ich anders habe.
Linie <--m--------m--> Haltestelle (eine 5 gibt es nicht m immer >0 somit gültig)
Schicht <--c--------c-->Bus (Hier bin ich mir nicht sicher, werde ich morgen noch mal durchgehen)

Zu den Spezialisierungen bzw. Generalisierungen habe ich nichts in der Aufgabe 1 gefunden,
was man hier bearbeiten könnte. Auch rekursive Beziehungen konnte ich auch keine erstellen.

Hallo Maik,

die Haltestellen und Linien habe ich auch mit m/m modelliert. Bei Schicht und Bus kann Schicht <--c--------c-->Bus eigentlich nicht passen, da einer Schicht genau ein Bus zugeteilt ist, sollte also Schicht <--c--------1-->Bus sein.

Grüße,

Luffi
 
Bei b) würde ich mit INNER JOIN arbeiten:

SELECT Kapitän.KapitänName, Kapitän.Gehalt
FROM Kapitän INNER JOIN Schiffstyp ON Kapitän.SchiffstypNr = Schiffstyp.SchiffstypNr
WHERE Kapitän.Wohnort="Hamburg" AND Schiffstyp.SchiffstypName="Containerschiff"
ORDER BY Kapitän.Gehalt DESC;

Hallo Maik,

also das INNER JOIN habe ich im Skript jetzt auf Anhieb nicht gefunden. Hab mal gegoogelt und dein Ergebnis klingt für mich auch plausibel. Bei SQL gibt es ja immer mehrere Wege ans Ziel.

Grüße,

Luffi
 
...
Bei Schicht und Bus kann Schicht <--c--------c-->Bus eigentlich nicht passen,
da einer Schicht genau ein Bus zugeteilt ist,
sollte also Schicht <--c--------1-->Bus sein.

Hallo Luffi,
sorry für meine Abwesenheit. Hatte techn.Probleme mit FireFox Update auf V25.

1a)
Also Schicht <-c-----1--> Bus hatte ich auch überlegt. Allerdings hat mich in der Beschreibung der 2. Satz irritiert.
Code:
 ...Jeder Schicht ist genau ein bestimmter Bus zugeteilt.
Aber nicht alle Busse sind immer im Einsatz
Lasse mich aber gern eines Besseren belehren.

1b.1 (btw. blöde Gliederung)
Deine Lösung funktioniert auch bei mir.

1b.2
Deine Lösung funktioniert bei mir NICHT
Ich denke Du solltest "COUNT" aus der ersten Zeile rausnehmen (dann wäre die Ergebnisliste nur der Schiffsname wie gewünscht)
oder so ergänzen "COUNT(*)," dann gibst Du allerdings zusätzlich eine Spalte mit der Anzahl aus, was ja nicht gewollt ist.

btw.: Auch hier habe ich wieder mit INNER JOIN und Sub-Select gearbeitet. Das Ergebnis sieht bei mir dann ähnlich aus.
Code:
SELECT Schiff.SchiffsName
FROM Schiff INNER JOIN
(SELECT * FROM Fahrt INNER JOIN Fahrtgebiet
ON Fahrt.FahrtgebietNr = Fahrtgebiet.FahrtgebietNr
WHERE Fahrtgebiet.Name = "Atlantik") as Cruise
ON Schiff.SchiffsNr = Cruise.SchiffsNr
GROUP BY Schiff.SchiffsName
HAVING COUNT (Schiff.SchiffsName) >2;

1. F
2. R
3. R
4. F
Wie Luffi KE1, S17
Logische Betrachtungsebene = externe Sicht (nicht interne) und physische Betrachtungsebene = interne (nicht extern)
btw: Auch hier ist der Text im Skript richtig, aber grottig lesbar aufgrund des Umbruches der Sätze. Manchmal hilft ein logischer Absatz!

5. F - Konzeptionelles und internes Modell vertauscht.

6. R

[edit: 1c bearbeitet]

Gruß
Maik

btw: Warum muss man eine Einsendearbeit im Studiengang Wirtschaftsinformatik heutzutage noch mit der Post einsenden?
 
Zuletzt bearbeitet:
So, EA ging heute in die Post.
Good Luck @all.
 
Hallo Luffi,
sorry für meine Abwesenheit. Hatte techn.Probleme mit FireFox Update auf V25.

1a)
Also Schicht <-c-----1--> Bus hatte ich auch überlegt. Allerdings hat mich in der Beschreibung der 2. Satz irritiert.
Code:
 ...Jeder Schicht ist genau ein bestimmter Bus zugeteilt.
Aber nicht alle Busse sind immer im Einsatz
Lasse mich aber gern eines Besseren belehren.

1b.1 (btw. blöde Gliederung)
Deine Lösung funktioniert auch bei mir.

1b.2
Deine Lösung funktioniert bei mir NICHT
Ich denke Du solltest "COUNT" aus der ersten Zeile rausnehmen (dann wäre die Ergebnisliste nur der Schiffsname wie gewünscht)
oder so ergänzen "COUNT(*)," dann gibst Du allerdings zusätzlich eine Spalte mit der Anzahl aus, was ja nicht gewollt ist.

btw.: Auch hier habe ich wieder mit INNER JOIN und Sub-Select gearbeitet. Das Ergebnis sieht bei mir dann ähnlich aus.
Code:
SELECT Schiff.SchiffsName
FROM Schiff INNER JOIN
(SELECT * FROM Fahrt INNER JOIN Fahrtgebiet
ON Fahrt.FahrtgebietNr = Fahrtgebiet.FahrtgebietNr
WHERE Fahrtgebiet.Name = "Atlantik") as Cruise
ON Schiff.SchiffsNr = Cruise.SchiffsNr
GROUP BY Schiff.SchiffsName
HAVING COUNT (Schiff.SchiffsName) >2;

1. F
2. R
3. R
4. F
Wie Luffi KE1, S17
Logische Betrachtungsebene = externe Sicht (nicht interne) und physische Betrachtungsebene = interne (nicht extern)
btw: Auch hier ist der Text im Skript richtig, aber grottig lesbar aufgrund des Umbruches der Sätze. Manchmal hilft ein logischer Absatz!

5. F - Konzeptionelles und internes Modell vertauscht.

6. R

[edit: 1c bearbeitet]

Gruß
Maik

btw: Warum muss man eine Einsendearbeit im Studiengang Wirtschaftsinformatik heutzutage noch mit der Post einsenden?

Hallo Maik,

Also bei dem Bus stimme ich dir zu, irgendwie hab ich das überlesen. Da ich absolut keine Ahnung von SQL habe, und du einen recht kompetenten Eindruck bei dem Thema machst wird das so wohl stimmen.

Steht denn Inner Join auch irgendwo bei uns im Skript, hab es bisher noch nicht gefunden. Wo hast du das denn gefunden? Das einzige was mir jetzt auffallen würde, ist dass du zwischen Deutsch und Englisch gewechselt hast. Gehe davon aus, dass du mit Cruise die Fahrt meinst. :confused:

Hab meine EA auch schon mal weg geschickt, wundert mich auch, dass gerade der Informatik Lehrstuhl so auf Papier steht :O_o:

Gruß

Luffi
 
Cruise ist ein Alias für den Select.
Und was SQL angeht, habe ich im Kurs eigentlich gar nichts gelesen. Arbeit teilweise auch mit SQL und hatte schon mal etwas in einem anderen Kurs.
 
Zurück
Oben