Falc410
Vice Admiral
- Registriert
- Juni 2006
- Beiträge
- 6.423
Ich versuche gerade folgende Struktur umzusetzen.
In meinem System soll es User, MasterUser und Institute geben. Institute und User sind eigene Tabellen / Klassen. MasterUser soll entweder durch ein Attribut oder eine Relation realisiert werden.
Jeder User ist einem Institut zugewiesen und jedes Institut hat genau einen MasterUser.
Das ganze wird in Python / Django realisiert, d.h. ich einen ORM benutzen und muss nur Klasse schreiben. Also hat die Klasse User ein Feld Institut und dort den PK des Instituts drinnen. Somit weiß ich, User X gehört zu Institut Y.
Die Klasse Institut hat ein Feld MasterUser und dort den PK von einem User wiederum drinnen. Das ist allerdings etwas unschön. Ich frage mich wie ich das besser lösen kann.
User - Institut ist also eine n:1 Beziehung
Institut - (Master)User ist eine 1:1 Beziehung
Wenn ich isMasterUser als boolean Attribut von User mache dann muss ich manuell immer prüfen dass es nicht schon einen gibt. Auch unschön.
Muss ich dann eine neue Klasse MasterUser anlegen die Einträge jeweils PK von User und Institut nimmt? Aber für jedes Institut darf es dann nur einen Eintrag geben (sollte sicher irgendwie machbar sein).
Oder übersehe ich einen besseren Ansatz im Moment?
In meinem System soll es User, MasterUser und Institute geben. Institute und User sind eigene Tabellen / Klassen. MasterUser soll entweder durch ein Attribut oder eine Relation realisiert werden.
Jeder User ist einem Institut zugewiesen und jedes Institut hat genau einen MasterUser.
Das ganze wird in Python / Django realisiert, d.h. ich einen ORM benutzen und muss nur Klasse schreiben. Also hat die Klasse User ein Feld Institut und dort den PK des Instituts drinnen. Somit weiß ich, User X gehört zu Institut Y.
Die Klasse Institut hat ein Feld MasterUser und dort den PK von einem User wiederum drinnen. Das ist allerdings etwas unschön. Ich frage mich wie ich das besser lösen kann.
User - Institut ist also eine n:1 Beziehung
Institut - (Master)User ist eine 1:1 Beziehung
Wenn ich isMasterUser als boolean Attribut von User mache dann muss ich manuell immer prüfen dass es nicht schon einen gibt. Auch unschön.
Muss ich dann eine neue Klasse MasterUser anlegen die Einträge jeweils PK von User und Institut nimmt? Aber für jedes Institut darf es dann nur einen Eintrag geben (sollte sicher irgendwie machbar sein).
Oder übersehe ich einen besseren Ansatz im Moment?