sql中的表结构

问题描述 投票:0回答:3

我需要知道在sql中我们可以做表结构的最佳方法。我有3个实体。权限,角色和用户。用户可以拥有多个角色,角色可以拥有不同的权限。任何人都可以建议我以最好的方式在sql中设计表结构。

database-design
3个回答
1
投票

用户可以拥有多个角色,角色可以拥有不同的权限。

我们只能在识别表格数量方面为您提供帮助。其他表结构可能与您的应用程序,数据库供应商等非常相关。

您的上述陈述暗示了多对多关系(图形关系),如下所示:

用户< - 用户可以拥有多个角色,角色也可以与许多用户相关 - >角色

角色< - 角色可以拥有许多权限,权限也可以与许多角色 - >权限相关

所以在语义上我看到3个实体表和2个映射表,如下所示。

实体表:用户角色权限

映射表:User_Roles Role_priviledges

**多对多的关系大多介绍第三张表。


0
投票

我认为你应该创建下表(对于大数据)

1-用户

2-特权(硕士)

3-角色(大师)

现在您已创建权限 - 角色和用户角色的桥接表

4- UserRolesBridge(用户角色的行方式数据)

5- RolesPrivilegesBridge(角色特权的行数据)


0
投票

听起来您的Users表应与您的Roles表具有多对多关系,并且您的Roles表应与您的Privileges表具有多对多关系。

您可以通过交叉实体(UserRoles和RolePrivileges)执行此操作,交叉实体只有关系两侧的外键。

© www.soinside.com 2019 - 2024. All rights reserved.