gpt4 book ai didi

sql-server - SQL Server数据库设计用户、组、角色、成员

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:48 25 4
gpt4 key购买 nike

到目前为止,我有以下 SQL Server 数据库和一个表。

----------------
|Users |
----------------
| UserId PK |
| |
| Other fields |
----------------

我需要再添加几个表,这不是问题,但这是目标:

----------------    ----------------    ----------------   ---------------- 
|Users | |Roles | | Teams | | Groups |
---------------- ---------------- ---------------- ----------------
| UserId PK | | RoleId PK | | TeamId PK | | GroupId PK |
| | | | | | | |
| Other fields | | Other fields | | Other fields | | Other fields |
---------------- ---------------- ---------------- ----------------

我需要实现的是:

  • 我有 X 数量的用户

    • 用户 1
    • 用户 2
    • 用户X
  • 我有 3 个角色,仅供所有用户在所有团队和群组中使用

    • 管理员
    • 成员
    • 访客
  • 一个用户可以创建 X 个团队

    • 团队 1
    • 团队 2
    • TeamX
  • 一个用户可以创建 X 个组

    • 第一组
    • 第二组
    • GroupX
  • 可以为组和团队分配具有不同角色(管理员、成员、访客)的用户

  • 一个用户可以属于一个或多个团队或组

  • 一个用户可以属于一个或多个角色

我很难理解这些表之间的关系。

这是我根据@Robertas Valeika 的回答设法实现的。

enter image description here

最佳答案

您还需要 3 个表。用户角色用户角色组用户角色团队。

关系:

用户角色 - 用户角色组,组 - UsersRolesGroups

用户角色 - 用户角色团队,团队 - 用户角色团队

用户 - 用户角色,角色 - 用户角色。

并将FK添加到组和团队表中的用户,以识别组和团队的创建者。

关于sql-server - SQL Server数据库设计用户、组、角色、成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com