Database design sql中的表结构

Database design sql中的表结构,database-design,Database Design,我需要知道在sql中实现表结构的最佳方法。 我有3个实体。特权、角色和用户。一个用户可以有多个角色,角色可以有不同的权限。有谁能告诉我用sql设计表结构的最佳方法。听起来您的用户表应该与角色表有多对多关系,角色表应该与特权表有多对多关系 您可以通过交叉点实体(UserRoles和RolePrivilege)来实现这一点,这些实体只有关系双方的外键。我认为您应该创建下表(用于海量数据) 1-用户 2-特权(主) 3-角色(硕士) 现在您已经创建了特权角色和用户角色的桥接表 4-UserRolesB

我需要知道在sql中实现表结构的最佳方法。
我有3个实体。特权、角色和用户。一个用户可以有多个角色,角色可以有不同的权限。有谁能告诉我用sql设计表结构的最佳方法。

听起来您的用户表应该与角色表有多对多关系,角色表应该与特权表有多对多关系


您可以通过交叉点实体(UserRoles和RolePrivilege)来实现这一点,这些实体只有关系双方的外键。

我认为您应该创建下表(用于海量数据)

1-用户

2-特权(主)

3-角色(硕士)

现在您已经创建了特权角色和用户角色的桥接表

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

5-角色权限桥(角色权限的行数据)

一个用户可以有多个角色,角色可以有不同的 特权

我们只能在确定表的数量方面为您提供帮助。其他表结构可能与应用程序、数据库供应商等密切相关

您的上述陈述提示了多对多关系,如下所示:

用户角色

角色权限

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

实体表: 使用者 角色 特权

映射表: 用户角色 角色特权


**多对多关系主要引入第三个表。

没有组织数据库的最佳方法。一切都取决于您的特定应用程序。试试看会发生什么。若出现问题,你们可以在这里问一个具体的问题。多对多关系主要介绍了第三个表的需要。