Datenbankentwurf - Benutzerverwaltung

  • Hi,


    wollte eine DB für eine Benutzerverwaltung machen, jedoch hab ich gerade irgendwie nen Blackout bzgl. nem Datenbankentwurf. Das Programm sieht bis jetzt so aus:



    (Scheiß UI blabla, ein Kumpel macht die UI nicht ich :P)


    Jedenfalls braucht man ja für die Datenbank eine Tabelle Benutzer und eine Tabelle Rolle (<- Kasse, Administration, etc.)


    Mein erster Entwurf sah so aus und er würde auch richtig sein:



    Jedoch müsste ich dann jedem einzelnen Benutzer die jeweiligen Rechte verteilen. Deswegen möchte ich in der Combobox eine Benutzergruppe für den einzelnen Benutzer auswählen können, wodurch dann die einzelnen Rollen/Rechte sofort ausgewählt werden... Beispielsweise Benutzergruppe "Admin" oder "Angestellter". (Die Benutzergruppen werden in einer anderen Maske angelegt).


    Ich möchte nun wissen, wie die Datenbank dafür aussehen soll? Hatte schon etwas im Sinne, jedoch war es irgendwie ein Flop...
    (Beziehungen klappen da nicht, daher hab ich es auch sein lassen...)



    €: ich weiß, dass die Lösung ganz simpel ist, wie schon aber gesagt hab ich irgendwie nen blackout und schaffe nicht mal das einfachste problem... wtf

  • Ich versteh es nicht so ganz.
    Würde einfach zwei Tabellen erstellen wie du schon gesagt hast.
    Eine Für die User die eine ID zugewiesen bekommen und die Tabelle Rolle wo die ID des Users drin steht.
    In der Tabelle Rolle dann eine Rechte-Spalte wo zahlen drin stehen und jede Zahl eine bestimmte Benutzergruppe ist.

  • Naja dein Modell ist nicht falsch.
    Gruppe und Rolle sind über n-zu-m verbunden. Daher brauchst du die "ZwischenTabelle"/"Verknüpfungstabelle" (wie auch immer du es nennst) => GruppeInRolle.
    Hier verknüpfst du allerdings nicht die GruppeInRolleID sondern direkt die GruppeID.



    (SQL Server Management Studio sucks!)


    Gruß
    florian0

  • Hab es jetzt so gemacht:



    @awesome Glaube so meinst du es auch, oder?


    ...Leider klappt das mit den Beziehungen noch nicht... kp warum, müsste jetzt etwas rumsuchen :brainsnake: , aber normal dürfte es so stimmen (Bezeichnung fehlt aber noch ...)!?


    €: @florian Probiere mal deinen Vorschlag aus, melde mich dann gleich wieder...


    €2: Danke florian, klappt wunderbar :)



    Genau so hab ich es mir vorgestellt ;) (konnte es jedoch nicht ganz umsetzen :patsch: )

  • So ähnlich meinte ich es. Jetzt hast du eben das Problem, das du jedem Nutzer nur ein Recht zuordnen kannst.


    Was er Fehler sein soll ... ka^^ Tausch mal die Primärtabelle ... du verknüpfst ja Primärschlüssel mit Fremdschlüssel und nicht umgedreht ...


    Edit: Alles klar:)