【发布时间】:2013-02-17 15:19:45
【问题描述】:
我正在使用 PHP/MySQL 开发一个 webapp,我已经到了需要创建用户/组关联的地步。
这是我的目标:
我将拥有越来越多的组和用户。
用户将能够修改他们的组关联
随时随地。组关联将决定内容的优先级
显示在网站上。发送给用户的电子邮件更新将由他们当前的组决定 协会。
我的问题是,处理这种用户/组关联的最佳方式是什么?
我目前的表结构是这样的(为便于交流而简化):
Users:
User_ID, User_name, Fname, Lname, is_dealer
Deals:
Deal_ID, Dealer_ID, Deal_name, Deal_content
Dealers:
Dealer_ID, User_ID, Dealer_name, Dealer address.. etc.
我最初的想法是创建一个包含 Group_ID 和 Group_name 列的 Groups 表。然后我可以做以下两件事之一:
我可以在 Groups 表中创建一个名为“User_ID”的列,并且对于每个组关联,我都有一行说明 Group_ID、Group_name 和 User_ID。这个选项感觉就像它会创建一个巨大的超级冗余数据库表。
我能想到的另一个选项是在 Users 表中创建一个 Group_ID 列,并在必须解析的某种文本数组中填充与用户关联的所有组。这里的问题是我希望有无限数量的组,并且为我的用户表中的每一行将所有用户的组关联塞入一个“值”似乎超级草率。
这确实是一个 SQL 数据库逻辑/设计问题。 任何帮助都会有很大帮助。
谢谢!
【问题讨论】:
-
如果您愿意,我们可以将此问题迁移到我们的 DBA 姊妹站点:dba.stackexchange.com。如果这是有利的,则标记要迁移的 mod。
标签: mysql sql database-design relational-database