用户的SQL数据库结构+成员资格+组

时间:2016-06-17 12:08:24

标签: mysql sql database database-design

我正在开发一个电子商务网站,我想让这个社区对群组,用户及其成员的数据库结构有所了解。

目标:在登录时确定用户的群组成员资格和访问权限。用户可以是此站点上的卖家,管理员,站点支持或任何人。必须是可扩展的。

初步思考:三个单独的表:usersgroupsmemberships。成功登录后,在成员资格表中搜索用户的ID,并从成员资格表中的同一行获取组ID。从那里,另一个查询从组表中获取组信息(如组名称,描述等)。将会员资格存储在用户的会话中并将其称为一天。

关注:登录时,我不想不必要地执行其他查询。上面的“初步思考”包括登录时的3个单独查询。

问题:

  • 这是正确的方法吗?
  • 任何更好的设计解决方案?
  • 最好将管理员分解到他们自己的表中,或者将他们扔进同一个groups表中?

1 个答案:

答案 0 :(得分:0)

数据库设计合理。由于用户可以属于多个组并且可以拥有多个成员身份,因此需要另外两个表USER_GROUPUSER_MEMBERSHIP来保存用户和组之间以及用户和成员之间的关系。