我想这是一个非常基本的问题,必须有类似的问题,但事实是我发现的信息非常少。我正在开发一个包含多种类型内容的网站:文章,线程,食谱等。所有这些内容类型都可以评论并做“喜欢”。评论也可能收到“喜欢”。我不是数据库架构的专家,我开发原型的方法是建立不同的表:comment_article,comment_thread,comment_recipe ......和like_article,like_thread,like_recipe,like_comment。
现在我想简化最小数量的可能表格的结构:评论和喜欢。
我想知道实现这一目标的最高效的方法:
注意:我们正在使用带有InnoDB
存储引擎的关系数据库。
答案 0 :(得分:1)
我不是这方面的专家,但还没有答案,所以我会尝试回答:
如果内容类型彼此非常不同,即字段需要不同类型,则只需要不同的表/列。如果所有内容都是“文本”,则只需添加一个“类型”列,稍后您就可以在代码中单独操作。
评论将是一个单独的表,其中包含与内容(PK)的关系(FK)。
喜欢。该表将具有内容(PK)的引用(FK)列和注释(PK)的引用列(FK),其中每个类似于当前设置一个。
答案 1 :(得分:0)
对于有类似问题的人,可在此处找到解释清楚的答案:Implementing Comments and Likes in database