如何使用多对多关系来完成此操作

时间:2018-03-22 10:14:24

标签: sql database-design

我有两个对象:channel和tag a具有多对多关系。一个频道可以有多个标签,一个标签可以有多个频道。

所以我有三张桌子:
- 通道表
- 标签表
- 表格

在频道页面上,会有链接到它的标签列表。我还想要,如果用户点击某个标签,它会增加一个与之关联的计数器。 但我不知道该怎么做。

我可以在联结表上添加第三列的点击次数吗? 或者我可以在联结表中有重复项(即每次用户点击频道“omega”的标签“孩子”时,它会在连接表中添加一行连接“孩子”和“omega”的ID <) p>

或者还有其他/更好的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以为关系添加计数器列。不要存储重复的行。如果您想跟踪单个点击次数,可以添加user_id和datetime列,并将它们作为主键或唯一键的一部分。

答案 1 :(得分:0)

您可以将这些点击存储在不同的表格中。就那么简单。向现有表添加多行将使其不可读。并且不断更新点击也不是一个好主意。只需用该点击创建另一个表并存储每个表。稍后您可以在视图中显示它们并对它们进行计数。