ERM und SQL Aufgabe

Maschenka777

Benutzer
Beiträge
5
Hallo :)

Ich habe hier eine Aufgabe zu ERM und SQL. Ich habe die Aufgaben schon gelöst bin mir aber absolut nicht sicher
ob es richtig so ist. Ich wusste nicht genau wie aus den gegebenen Relationen das Diagramm und die SQL Befehle erstellt werden sollen und wäre über jegliche Ratschläge und Kritik dankbar, da ich es gerne können, und verstehen würde wie sowas in Zukunft bzw. in der Klausur gemacht werden soll.
Die Aufgabenstellung und die Lösung finden sich in der pdf.

Vielen Dank und liebe Grüße,
Marie
 

Anhänge

  • Erm_Sql(1).pdf
    219,1 KB · Aufrufe: 9
Werbung:
PLZ und Telefonnummer nicht INT, damit rechnest Du nicht. Geburtstag nicht varchar, Du willst ja mal das Alter ausrechnen etc. Warum hat Tabelle Spiel ein Geburtsdatum? Was beinhaltet da die Spalte Spielbegin? Dein Select (A3) ist falsch.

Mein Tipp: installier Dir ein PostgreSQL und probiere das alles mal aus.
 
Okay, dann würde ich für die PLZ und die Telefonnummer varchar nehmen, für den Geburtstag date und für Spielbeginn time (ich denke hier soll genau der Beginn des Fußballspiels angegeben werden). Die Tabelle Spiel soll natürlich kein Geburtsdatum enthalten, da habe ich einen Fehler gemacht. Bei dem Select in A3 wusste ich nicht was an die Stelle kommen soll wo das Fragezeichen steht.
Ist denn die Struktur generell richtig, von dem ER-Diagramm und den Tabellen? Bin mir unsicher, wo ich eigene Entitäten bzw Tabellen anlegen soll. Also ob zb Spielt_in und Trainiert eigene Tabellen werden sollen, die man mit Create anlegt.
 
Das sind die Tabellen, die ich nun erstellt habe. So wie ich es ursprünglich gemacht hatte hat es nicht funktioniert. Ich habe die entsprechenden einträge erstellt aber kriege A3 leider nicht hin :( Wir dürfen ausserdem nur WHERE benutzen und keine JOIN ausdrücke.
 

Anhänge

  • sql.txt
    1,1 KB · Aufrufe: 1
Hab jetzt noch weiter probiert und als sql anfrage das hier:

SELECT name_spieler FROM spieler, trainer, trainiert WHERE trainiert.verein = spieler.spielt_bei AND trainiert.trainer = trainer.lizenzid AND trainer.name_trainer = 'Klaus'

Habe noch einige Spielereinträge gemacht und es werden nur die angezeigt, die bei dem Verein spielen der von Klaus trainiert wird.
 
versuche immer nach Möglichkeit expliziete Joins zu verwenden, die Syntax bei Dir ( select ... from x,y,z ...) sind impliziete Joins und bergen die Gefahr, falsche Joins zu verwenden bzw. sogar bei einem CROSS JOIN zu landen.

Also, statt dessen lieber select ... from x INNER JOIN y on ... INNER JOIN z on ... Damit trennst Du die JOIN-Condition von der WHERE-Condition, ist sauberer.
 
Werbung:
Ja, das ergibt Sinn, aber in meiner Vorlesung Wirtschaftsinformatik wird JOIN nicht behandelt, also sollen wir WHERE nutzen.
Würdest du sagen das ER Diagramm ist okay so?
Und danke bisher für die Hilfe :)
 
Zurück
Oben