SQLAlc: SingleTableInheritance und Relations

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Montag 7. Juli 2008, 22:19

Hallo zusammen,

ich habe mal überlegt, ob man das Konzept der Single Table Inheritance nicht mit unterschiedlichen Attributen der einzelnen Klassen koppeln kann. Kurz gesagt habe ich zwei Klassen, Person und Schueler, die beide in einer Tabelle definiert sind. Personen sollen ein Attribut 'Adressen' erhalten, Schüler hingegen ein Attribut 'Klasse' aber keine Adressen. Neben der Spalte "status", in der die Zugehörigkeit zu einer Klasse definiert ist, gibt es eine Spalte "data", in der ein Fremdschlüssel abgelegt ist. Je nach status zeigt dieser aber auf eine andere Tabelle: Bei Personen auf die Tabelle Adressen, bei Schuelern auf die Tabelle Klassen.

Hier gibts erst einmal ein wenig Spielcode, der aber nicht funktioniert, weil SQLAlchemy die Beziehungen zwischen den Tabellen nicht richtig auflösen kann. Ich frage mich jetzt halt, ob ein solcher Ansatz überhaupt möglich ist, oder ob ich bloß zu doof bin, es richtig umzusetzen. Vielleicht hat ja jemand von Euch noch eine brauchbare Idee :wink:
Antworten