为文章和文章分别设置表是否更好?评论,或两个表?

时间:2012-03-23 20:02:23

标签: php mysql comments article multi-level

我正在开发一个小项目,用户向MySQL提交文章,然后PHP将帖子发送到屏幕。到现在为止还挺好。 现在我想将它扩展到一个“两级”的帖子系统,人们可以在这里评论这些文章。 案件是,我不知道该怎么做。

我用来存储文章的表格:

  

表:帖子

  id用户日期头像签名帖子

我应该在posts表中创建一个名为comments的新行,还是应该将注释放在单独的表中?一篇文章,一篇评论?

非常感谢所有帮助。

2 个答案:

答案 0 :(得分:2)

取决于您在网站上的使用方式。您必须要问:“我的文章和评论基本上是相同的概念吗?”如果是,则使用一个表,如果不是,请使用两个。在大多数网站上,文章的工作方式不同,可以进行分类,编辑等,并且通常需要一个不同的字段,这会混淆评论表...所以在这种情况下,两个表更合理。但是如果你得出结论,你的网站上的文章和评论通常都是一样的(但是试着想想未来的证据:你不需要在2个月内添加一些文章功能吗?)那么你也可以把文章想象成评论并且一张桌子给他们。

如果您决定将内容合并到一个表中,并且您意识到需要使用其他列来区分帖子的类型,并且某些列仍然未使用某些列,那么它就是清除警告信号你应该有两张桌子!

答案 1 :(得分:1)

这有点主观,但我只想在你的posts表上建立一个父/子关系,创建一个parent_id列,它是同一个表中id列的外键。对于额外的功劳,你可以建立一个nested set关系,这样你就可以在一个查询中拉出父母和所有孩子