对于网站,在数据库中存储注释的正确方法是什么?

时间:2011-06-12 09:41:48

标签: sql sqlite

我想知道将评论存储到文章/图片/数据库中的任何内容的正确方法是什么?

是否应该是包含所有评论的单个表格,如

comment_id INTEGER PRIMARY KEY,
is_on      INTEGER REFERENCES content(content_id),
is_by      INTEGER REFERENCES users(user_id),
comment    TEXT

或者我应该为每个条目创建一个单独的表并在那里存储评论吗?

如果它有任何意义,我使用sqlite。

3 个答案:

答案 0 :(得分:2)

您有1条文章可供多条评论使用。评论只能与一篇文章相关联。所以在这种情况下,2个表就足够了。你的设计看起来足够了is_on可以与多对一关系中的article表相关,is_by将与1-1关系中的users表相关。

如果您的设计要求评论与多篇文章相关,那么使用交叉引用表ArticleComment(带有CommentID和ArticleID)的三表结构将是有意义的。

答案 1 :(得分:1)

为每个条目创建一个不同的表将是错误的样式。根据内容(临时表明显不同),在模式中创建表通常不是一个好主意。

所以你的方法还可以。

答案 2 :(得分:1)

你的例子中你是对的 - 至少是正确的想法......

你可能需要它3关系:

文章 评论 article_comment

然后你将article_id和comment_id存储在文章评论中。