Beispiel 2 EER Anregungen

  • Hey,
    habe ein paar Anregungen zu den hier geposteten EERs für das zweite Übungsbeispiel.


    1. Chef-Trainer, Trainer-Assistent
    "Jeder Trainer ist genau einer Mannschaft zugeordnet"
    "Jede Mannschaft hat ... genau einen Chef-Trainer und genau einen Trainer-Assistenten"


    Die hier geposteten EERs lassen es doch zu, dass ein Trainer sowohl Chef-Trainer als auch Trainer-Assistent ist.


    Wäre dies nicht wie in trainer.jpg lösbar?


    2. Spieler, Kapitän
    "Jeder Mannschaft hat mindestens 11 Spieler..."
    "...jede Mannschaft einen Kapitän..."

    Ist der Kapitän einer Mannschaft nicht automatisch auch Spieler dieser?
    Falls dies zutrifft benötigt auch der Kapitän eine eindeutige Trikot-Nummer für diese Mannschaft. Hierfür fehlt mir noch ein jeglicher Lösungsansatz


    3. ...


    lg

  • Quote


    Außerdem hat jede Mannschaft einen Kapitän (der ein Spieler des Vereins ist).


    laut prof. pichler in der vo muss der spieler nur spieler des vereins sein. was ein irrtum seinerseits war da man dann leider keine zyklischen foreign keys hat.


    d.h. nich umbedingt spieler der mannschaft.


    zu trainer cheftrainer:
    in deinem eer sind auch 2 cheftrainer bzw. auch 2 assistenten möglich.

    "In fact, you can look at the Web as consisting of two basic forms of knowledge: the database and the joke."
    david weinberger

  • Quote


    laut prof. pichler in der vo muss der spieler nur spieler des vereins sein. was ein irrtum seinerseits war da man dann leider keine zyklischen foreign keys hat.


    d.h. nich umbedingt spieler der mannschaft.


    ich würde einen Forein-key in Mannschaft setzen der auf die Relation Mannschaft-Spieler zeigt lösen.
    somit ist sichergestellt dass
    1) der Kapitän Spieler der Mannschaft ist und
    2) der Kapitän eine eindeutige Trikot-Nummer hat


    und hier kommen dann auch die Zyklischen Forein-Keys ins Spiel


    Quote


    zu trainer cheftrainer:
    in deinem eer sind auch 2 cheftrainer bzw. auch 2 assistenten möglich.

    stimmt...
    mannschaft_1 trainer_1 trainer
    mannschaft_1 trainer_2 co-trainer
    mannschaft_1 trainer_2 trainer


    ...


    aber ein unique über mannschaft und funktion würde das beheben. denke das lässt sich aber nicht wirklich modellieren.

  • Denke ich habe mit diesem EER beide Problemfälle behoben...


    Quote

    1. Chef-Trainer, Trainer-Assistent
    "Jeder Trainer ist genau einer Mannschaft zugeordnet"
    "Jede Mannschaft hat ... genau einen Chef-Trainer und genau einen Trainer-Assistenten"


    habe der Relation 'trainiert' ein zusätzliches Attribut 'funktion' gegeben welche als UNIQUE mit dem Mannschafts-Key definiert wird.


    mannschaft_1 trainer_1 trainer ok
    mannschaft_1 trainer_2 co-trainer ok
    mannschaft_1 trainer_3 trainer geht nicht da mannschaft und funktion unique


    wie man das modelliert???


    Quote

    2. Spieler, Kapitän
    "Jeder Mannschaft hat mindestens 11 Spieler..."
    "...jede Mannschaft einen Kapitän..."

    Ist der Kapitän einer Mannschaft nicht automatisch auch Spieler dieser?
    Falls dies zutrifft benötigt auch der Kapitän eine eindeutige Trikot-Nummer für diese Mannschaft. Hierfür fehlt mir noch ein jeglicher Lösungsansatz


    sollte so jetz auch möglich sein.

  • Ich habe noch nie ein EER-Diagramm mit "in Beziehung stehenden Beziehungstypen" gesehen; ich glaube nicht dass das geht. Selbiges gilt für ein Schlüsselattribut in einem Beziehungstypen - hast du das schon implementiert bzw. in Relationen umgeschrieben?

  • mhm habt ihr recht...


    Habe jetzt mal versucht die Mannschaft-Spieler Relation etwas aufzubessern. Wäre das ein richtiger Lösungsansatz? Komischerweise kann nun der Kapitän wieder jeglicher Spieler sein der ev. gar keine Zugehörigkeit zur Mannschaft hat.

  • so nach langem überlegen bin ich zum Schluss gekommen, dass es unmöglich ist folgenden Fall in einem EER abzubilden...


    jeder Spieler spielt in einer oder mehreren Mannschaften wobei er sich bei jeder Mannschaft mit der Trikot-Nummer identifiziert
    einer - und nicht mehr - der Mannschaftsspieler ist Kapitän.


    Es ist möglich

    • dass nur einer Kapitän ist (jener kann aber auch ein Spieler sein, der nicht in dieser Mannschaft spielt)
    • dass es mehrere Kapitäne in einer Mannschaft gibt - welche aber dann auch wirklich zur Mannschaft gehören.

    Falls jemand glaub eine Lösung zu finden, wäre ich wirklich gespannt!


    lg

  • Also diese Spieler-Kapitän-Nummern-Gschichte ist wirklich zum Mäuse melken! :distur:


    Wenn man jetzt besonders frech sein will, könnte man bei "spielt" wohl neben Dauer ein 2. Attribut (boolean) namens "Kapitän" einführen. In einem Spiel kann eine Mannschaft (zumindest auf dem Feld) ja tatsächlich mehrere Kapitäne haben, wenn der eigentlich nominierte ausgewechselt wird.


    Besonders schick ist diese Lösung aber wohl nicht... :rolleyes:

  • Ich weiß gar nicht wieso ihr euch so am Kapitän aufhängt. In der Angabe steht, er soll nur ein "Spieler des Vereins" sein - ich finds also ziemlich auffällig, dass man uns gar nicht mit dem Problem wie ihr es nun offenbar modellieren wollt (Kapitän ist Spieler des Teams), konfrontieren will.


    Sehr viel schwieriger find ich die Sache mit Chef- und Co-Trainer.

  • Ich weiß gar nicht wieso ihr euch so am Kapitän aufhängt. In der Angabe steht, er soll nur ein "Spieler des Vereins" sein - ich finds also ziemlich auffällig, dass man uns gar nicht mit dem Problem wie ihr es nun offenbar modellieren wollt (Kapitän ist Spieler des Teams), konfrontieren will.

    Sehr viel schwieriger find ich die Sache mit Chef- und Co-Trainer.



    naja weil es nunmal nur so richtig wäre :) - habs aber mittlerweilen auch aufgegeben.

    Trainer, Co-Trainer:

    ich hab den Prof Mittwoch nach der VO gefragt, und er sagte dies kann man
    vernachlässigen :wave2:

    edit: "zu kompliziert" waren seine Worte



    ausserdem beachte man die Angabe genau:

    "Jeder Trainer ist genau einer Mannschaft zugeordnet" --> Feld Trainer und Co-Trainer jeweils UNIQUE
    "jede Mannschaft hat ... genau einen Chef-Trainer und genau einen Trainer-Assistenten" --> heisst nicht dass Trainer & Co-Trainer verschiedene Trainer sein müssen

  • Ich weiß gar nicht wieso ihr euch so am Kapitän aufhängt. In der Angabe steht, er soll nur ein "Spieler des Vereins" sein - ich finds also ziemlich auffällig, dass man uns gar nicht mit dem Problem wie ihr es nun offenbar modellieren wollt (Kapitän ist Spieler des Teams), konfrontieren will.


    Es steht ja schließlich dort: "Außerdem hat jede Mannschaft einen Kapitän".
    Meiner Meinung nach läßt sich das nicht einfach nur mit einer "istKapitän"-Relation zwischen Spieler und Mannschaft lösen.


    Wie interpretierst Du das bzw. wie hast Du das gelöst?


    Ich glaube, das wird ein Fall zum Nachfragen morgen in der VO...oder der eine oder andere Tutor (sind ja hier wohl welche unterwegs ;-)) erbarmt sich mit einem kleinen Hinweis!

  • '...jede Mannschaft einen Kapitän der Spieler der Mannschaft ist...' - habe einfach in Mannschaft einen Foreign Key zu Spieler. Und das passt auch so für die Angabe.
    ----------------------------------
    Aber nun zu Trainer & Co. Trainer...

    "Jeder Trainer ist genau einer Mannschaft zugeordnet"

    Das bedeutet nicht dass der Trainer durch Zuordnung zur Mannschaft nun Trainer oder Co-Trainer der Mannschaft ist. Er ist einfach nur der Mannschaft zugeordnet!
    Also einen Foreign-Key in Trainer auf Mannschaft.

    "Jede Mannschaft einen Trainer & Co-Trainer" - Zwei Foreign-Keys in Mannschaft auf Trainer.

    Das würde doch passen und dann hätten wir auch die zyklischen Foreign-Keys.

  • '...jede Mannschaft einen Kapitän der Spieler der Mannschaft ist...' - habe einfach in Mannschaft einen Foreign Key zu Spieler. Und das passt auch so für die Angabe.


    Wie hast Du das nun im ER-Diagramm modelliert?


    EDIT:
    Und noch eine Zusatzfrage:
    Kann man im ER-Diagramm überhaupt einen Primärschlüssel an eine Beziehung hängen? Habe z.B. "nummer" als Attribut (PK) bei "gehörtAn".
    Habe bis dato nichts gefunden, was dafür oder dagegen spicht --> Unsicherheit!

  • Was du brauchst, ist eine Weak Entity.


    Ja, daran hatte ich auch schon gedacht, aber in meinem Fall wäre das dann eine Entity z.B. "Nummer", die keine eigenen Attribute hat, sondern nur FKs...
    Oder bin ich da jetzt auf dem falschen Dampfer?

  • Das wäre eben "Nummer" gewesen, was ich (wenn ich es nach deinem Vorschlag überarbeiten würde) dann als Entity dargestellen würde. Fiele dann als Attribut quasi weg.

  • Aha...langsam lichtet sich der Nebel.
    Es wäre also eine gangbare Lösung eine Weak Entity (nenen wir sie mal) "Trikot" einzuführen, mit PK "Nummer" und den FKs Mannschaft.bezeichnung und Spieler.persnr?


    Bin ich mir dem Ansatz in etwa auf Kurs?