Mysql数据库表设计

时间:2012-01-05 10:37:23

标签: mysql database-design

我网站上的用户会看到一个项目列表。他们看到的列表基于他们在表单中填写的标准 - 如果您愿意,他们会收到建议。

现在,如果用户不想再次收到某个建议,我希望他们能够阻止它出现。

那么,我是否创建了一个例外表,其中每行只有一个用户ID号和建议ID号,并在提供建议之前进行搜索。如果用户之前已经说过没有,则跳过下一个建议。

或者,我是否有一个每个用户有一行的表,其中包含用户ID和所有异常的字段,可能以逗号分隔或包含在[]中并执行“where in”搜索以查看异常是否为在那里 - 如果后者虽然和用户决定他们确实想要在以后的某个特定建议,它更容易从每个建议表的一行,而不是他们所在的领域,实际上我不知道是否那甚至可能。

欢迎所有建议。

2 个答案:

答案 0 :(得分:0)

这听起来像是用户和偏好/异常之间的多对多关系。我宁愿这样做而不是IN的想法。

答案 1 :(得分:0)

我有一个“可用建议”表,其中包含建议参考和用户参考。因此,对于每个用户,每个可用的建议都会有一条记录。当用户用户单击“否”时,可以从可用的建议中删除该记录。

希望这有一定道理。