如何使用关系数据库存储属于一个组的所有用户,以及一个用户所属的所有组?

ber*_*rnk 6 database-design relational-theory

这是一个初学者问题:

一个用户可以属于多个组,一个组可以包含多个用户。

假设这两个表看起来像这样:

user_id user_name user_email

group_id group_title group_description

我在哪里以及如何存储属于一个组的所有用户以及一个用户所属的所有组?

我无法想象具有包含逗号分隔用户 ID 的用户字段的组表是可接受的解决方案。我想我得到了关系数据库的基本概念,但我不确定实现。我得到了一对一的关系,但我在一对多中挣扎。我在这个例子中处理的是两个单独的一对多关系吗?

JNK*_*JNK 8

您需要三个表:

  • Users 每个用户一行以及您需要的任何详细信息
  • Groups 每组一行以及您需要的任何详细信息
  • UsersGroupsUserId, GroupId仅跟踪关系的独特组合

这将使您拥有任意数量的组合。