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
Antwort
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.
Viele zu vielen Beziehungen führt meist Notwendigkeit der dritten Tabelle. –
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)
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.
Ihre Kommentare haben geholfen. Vielen Dank.. –
- 1. View/edit Tabellenstruktur mit SQL in Base
- 2. SQL Split - einfügen in hierarchische Tabellenstruktur
- 3. PHP: Tabellenstruktur
- 4. Normalisierte Tabellenstruktur Vs Flache Tabellenstruktur
- 5. Erstellen eines Entity-Framework SQL-Tabellenstruktur
- 6. Verwenden einer vorgefertigten SQL-Abfrage, um Tabellenstruktur
- 7. Datenbank-Design: Tabellenstruktur
- 8. Tabellenstruktur für Gäste Checkout
- 9. Bevorzugte Tabellenstruktur
- 10. komplexe Tabellenstruktur
- 11. Wie erhält man die Tabellenstruktur in SQL Server?
- 12. Zend_Auth: DB-Tabellenstruktur
- 13. Produkte & Bestellungen Tabellenstruktur in MySQL
- 14. Ändern Sie Tabellenstruktur in Excel
- 15. mysql Datensynchronisation in verschiedenen Tabellenstruktur
- 16. Tabellenstruktur in neue Tabelle kopieren
- 17. SQL Tabellenstruktur zum Speichern von täglichen Aktivitäten von Benutzern
- 18. SQL Server 2008: Kopieren Sie Tabellenstruktur und Schema
- 19. komplizierte dynamische Tabellenstruktur HTML
- 20. COBOL Tabellenstruktur und Ausgang
- 21. Welche Tabellenstruktur ist besser
- 22. Eingerückte hierarchische Tabellenstruktur
- 23. SQL Tabellenstruktur für häufige mehr als und weniger als Abfragen
- 24. Wie Dump mysql Tabellenstruktur ohne Daten mit einer SQL-Abfrage?
- 25. HTML-Tabellenstruktur wird abgeflacht
- 26. Tabellenstruktur in neue Tabelle in sqlite3 kopieren
- 27. Kann SQLAlchemy die Tabellenstruktur aktualisieren?
- 28. Tabellenstruktur zum Speichern von Communities in MySQL
- 29. Empfehlungen für die Tabellenstruktur in MySQL
- 30. Modellstruktur in Laravel mit dieser Tabellenstruktur?
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. –