问题描述
|
我正在尝试提出最简单/最有用/最有效的方法来使用MysqL将3个用户分组。
设置舞台:
列表中X用户的数量(全部为int account_id \)
迷你分组需要基于每个用户创建(例如,用户1希望与220分组)。
每个分组最多3人(用户1 +用户220 +用户9123 =群组已满)
需要轻松查找用户是否在组中而无需查看一堆列
我对如何最好地为此创建模式感到困惑(因此,我可以轻松查询表以查看用户是否在组中,或者是否可以添加用户,或检查组空间的可用性)。
有人知道吗我最初的想法是这样的架构(但实际上似乎太死板了):
架构图
GROUP_ID USER1 USER2 USER3 LASTUPDATE
1 1 220 null 5/25/2011 20:00:00
2 300 2 4 5/25/2011 20:00:00
您将如何做才能使这个简单的事情变得非常灵活和高效。我真的很傻问。
解决方法
我个人将使用3个表来解决这个问题。
Users Table
user_id user_name ..... last_update
Groups Table
group_id group_name ......
Users to groups Table
user_to_group_id user_id group_id
通过通过\“ Users to groups \”表进行链接,这形成了多对多关系,显然,您可以将3个以上的用户链接到一个组,因此在向其中添加新用户时,您必须对此进行PHP逻辑检查一组。
您可以简单地使用SQL连接来检索所需的所有数据,并在PHP代码中过滤结果。
我希望这有帮助
亲切的问候
加里