2017-12-28 47 views
0

Ich muss den besten Weg wissen, wie wir die Tabellenstruktur in SQL machen können. Ich habe 3 Entitäten. Privilegien, Rollen und Benutzer. Ein Benutzer kann mehrere Rollen haben, und Rollen können unterschiedliche Berechtigungen haben. Kann jemand mir vorschlagen, in welcher Weise wir Tabellenstruktur in sql entwerfen können.Tabellenstruktur in sql

+0

Es gibt keine beste Möglichkeit, eine Datenbank zu organisieren. Alles hängt von Ihrer speziellen Anwendung ab. Probieren Sie etwas aus und sehen Sie, was passiert. Wenn etwas schief geht, können Sie hier eine spezifische Frage stellen. –

Antwort

0

Es klingt wie Ihre Users-Tabelle eine Viele-zu-viele-Beziehung zu Ihrer Rolle-Tabelle haben sollte, und Ihre Rolle-Tabelle sollte eine Viele-zu-viele-Beziehung zu Ihrer Berechtigungstabelle haben.

Sie können dies über Schnittmengen-Entitäten (UserRoles und RolePrivileges) tun, die nur Fremdschlüssel für beide Seiten der Beziehung haben.

+0

Viele zu vielen Beziehungen führt meist Notwendigkeit der dritten Tabelle. –

0

Ich glaube, Sie untenstehende Tabelle (für große Daten) erstellen sollten

1- Benutzer

2- Privileges (Master)

3- Rollen (Master)

Jetzt haben Sie Brückentabelle der Privilegien-Rollen und Benutzerrollen erstellen

4- UserRolesBridge (Zeilenweise Daten von Rollen für Benutzer)

RolesPrivilegesBridge 5- (Row weise Daten von Privilegien für Rollen)

1

kann ein Benutzer mehrere Rollen haben und Rollen können unterschiedliche Rechte verfügen.

Wir können Ihnen nur bei der Identifizierung der Anzahl der Tabellen helfen. Andere Tabellenstruktur könnte sehr relativ sein, um Ihre Anwendung, Datenbankanbieter usw.

Ihre obige Aussage viele zu viele Beziehung Hinweise (Grafik Beziehung), die als unten:

Benutzer < - Der Benutzer kann haben viele Rollen und Rollen können auch für viele Nutzer betreffen -> Rolle

Rolle < - Rolle kann viele Privilegien haben und Priviledges auch viele Rollen betreffen können -> Privilegien

Also semantisch sehe ich 3 Entity-Tabellen und 2 Mapping-Tabelle, die wie folgt sind.

Entity Tables: Benutzer Rolle Priviledge

Zuordnungstabellen: User_Roles Role_priviledges

** viele zu viele Beziehung führt meist dritte Tabelle.

+0

Ihre Kommentare haben geholfen. Vielen Dank.. –

Verwandte Themen