# Design-Frage: Datenzuordnung  zu verschiedenen Accounts



## Antoras (9. Mai 2009)

Hallo,

Ich hätte eine grundlegende Design-Frage über das abspeichern von Werte, die unterschiedlichen Accounts zugeordnet werden müssen. 
Ich benutze in meinem Programm die embedded DB H2. Bei meinem Programm muss man sich einloggen um es benutzen zu können. 

Wie stelle ich es jetzt am einfachsten an um die einzelnen Tabellen der DB den verschiedenen Benutzern zuzuordnen? Die Tabellen sollen möglichst alle gleich heißen, aber nur der Benutzer der auch eingeloggt ist soll Zugriff auf die Werte bekommen, die auch er abgespeichert hat. 

Schreib ich die Werte dazu in verschiedene Tabellen, in die gleiche Tabelle nur eben mit verschiedenen Schlüsseln, brauche ich Unterverzeichnisse innerhalb der DB...

Beschäftige mich mit DB-Design noch nicht sehr lange und hab folglich nicht viel Ahnung. 

Kann mir da jemand ein paar Tipps geben?


----------



## SlaterB (10. Mai 2009)

ich bin für Daten in derselben Tabelle,
entweder mit einem Fremdschlüssel in dieser (jeder) Tabelle auf den User oder ein anderes bereits vom User abhängig Objekt,

oder etwas allgemeiner oben drauf unabhängig vom Rest:
eine Tabelle Rechte mit UserId + ObjektId, enthält die Rechte für beliebige Objekte,
falls die Id eines Objektes = Element in irgendeiner Spalte nicht global eindeutig ist, sondern nur innerhalb der Tabelle, 
dann braucht die Rechte-Tabelle noch eine zusätzliche Spalte 'Tabellenname', mit String oder so,

oder verschiedene Rechte-Tabellen, eine pro normaler Tabelle, 
das ist dann schon fast der Vorschlag vom Anfang meines Postings

die DB-Anfragen müssen dann freilich fairerweise die Rechte berücksichtigen


----------



## Antoras (22. Mai 2009)

Dein Lösumgsvorschlag hat perfekt funktioniert, SlaterB. Ich hab es jetzt mit einer weiteren Spalte "Rechte", der jeweiligen ID zum Benutzer und natürlich den Abfragen, die dies beachten hinbekommen. Jetzt geht alles so wie ich es brauche. Danke für deine Antwort!


----------

