对MySQL中不同内容类型的评论和喜欢

时间:2014-03-08 12:21:00

标签: mysql database architecture relational-database

我想这是一个非常基本的问题,必须有类似的问题,但事实是我发现的信息非常少。我正在开发一个包含多种类型内容的网站:文章,线程,食谱等。所有这些内容类型都可以评论并做“喜欢”。评论也可能收到“喜欢”。我不是数据库架构的专家,我开发原型的方法是建立不同的表:comment_article,comment_thread,comment_recipe ......和like_article,like_thread,like_recipe,like_comment。

现在我想简化最小数量的可能表格的结构:评论和喜欢。

我想知道实现这一目标的最高效的方法:

  1. 字段content_type,parent_id,用于指定内容类型和引荐ID。
  2. 字段content_type,thread_id,article_id,recipe_id。
  3. 还有其他人吗?
  4. 注意:我们正在使用带有InnoDB存储引擎的关系数据库。

2 个答案:

答案 0 :(得分:1)

我不是这方面的专家,但还没有答案,所以我会尝试回答:

如果内容类型彼此非常不同,即字段需要不同类型,则只需要不同的表/列。如果所有内容都是“文本”,则只需添加一个“类型”列,稍后您就可以在代码中单独操作。

评论将是一个单独的表,其中包含与内容(PK)的关系(FK)。

喜欢。该表将具有内容(PK)的引用(FK)列和注释(PK)的引用列(FK),其中每个类似于当前设置一个。

答案 1 :(得分:0)

对于有类似问题的人,可在此处找到解释清楚的答案:Implementing Comments and Likes in database