Elixir / SQLAlchemy n-äre Relation mit Attribut abbilden
Verfasst: Montag 15. Juni 2009, 20:20
Hallo zusammen,
ich stehe vor dem Problem eine Datenbank mit Elixir (zur Not auch direkt SQLAlchemy) zu managen, die sich aus folgendem ERD ableitet:
http://de.tinypic.com/view.php?pic=1sl6ih&s=5
Im Grunde handelt es sich dabei um eine n-äre -Relation, die zusätzlich mit einem Attribut belegt ist. Hintergrund ist die Verwaltung von Turniersiegen von Sportlern. Diese können eben an einem bestimmten Datum ein Turnier in einem speziellen Modus und einer speziellen Klasse gewinnen (korrekter wäre eigentlich eine bestimmte Platzierung erreichen, die ebenfalls in dieser Relation gepseichert würde).
Bevor ich hier ins Blinde implementiere, würde ich mich gerne vergewissern, ob meine Idee richtig ist:
Ich würde die Relation "hat_gewonnen" in eine Entity-Klasse überführen und entsprechende Many2Many-Relations zu den angrenzenden Entitäten deklarieren. Zusätzlich eben noch das Attribut Datum als Field einbauen.
Ist dieser Ansatz so richtig? Wenn nein, wie sonst, wenn ja, gibt's dazu vielleicht noch Tipps / Code-Beispiele?
ich stehe vor dem Problem eine Datenbank mit Elixir (zur Not auch direkt SQLAlchemy) zu managen, die sich aus folgendem ERD ableitet:
http://de.tinypic.com/view.php?pic=1sl6ih&s=5
Im Grunde handelt es sich dabei um eine n-äre -Relation, die zusätzlich mit einem Attribut belegt ist. Hintergrund ist die Verwaltung von Turniersiegen von Sportlern. Diese können eben an einem bestimmten Datum ein Turnier in einem speziellen Modus und einer speziellen Klasse gewinnen (korrekter wäre eigentlich eine bestimmte Platzierung erreichen, die ebenfalls in dieser Relation gepseichert würde).
Bevor ich hier ins Blinde implementiere, würde ich mich gerne vergewissern, ob meine Idee richtig ist:
Ich würde die Relation "hat_gewonnen" in eine Entity-Klasse überführen und entsprechende Many2Many-Relations zu den angrenzenden Entitäten deklarieren. Zusätzlich eben noch das Attribut Datum als Field einbauen.
Ist dieser Ansatz so richtig? Wenn nein, wie sonst, wenn ja, gibt's dazu vielleicht noch Tipps / Code-Beispiele?