博客评论的数据库架构

时间:2012-09-08 02:01:06

标签: database-design database-schema

我的博客上有评论表。

comment
- id (PK)
- post_id (FK)
- user_id (FK)
- comment

我应该分成3个表并按照这样做吗?

comment
- id (PK)
- comment

user_comment
- comment_id (PK, FK)
- user_id (PK, FK)

post_comment
- post_id (PK, FK)
- comment_id (PK, FK)

这会是一个更好的设计吗?欢迎任何其他建议。

3 个答案:

答案 0 :(得分:4)

您的原创设计非常完美;它模拟了实际发生的事情。

此外,避免架构膨胀是件好事。

答案 1 :(得分:2)

我认为第一个设计要好得多;据我所知,拆分该表不会增加任何值,并且只会强制数据库引擎为每个查询使用一个或两个额外的连接。

如果您对性能感到担忧,可以在评论表上创建索引,以便有效地为每个用户和每个帖子选择评论。

答案 2 :(得分:0)

create table photo_comments(
    commentID int not null AUTO_INCREMENT PRIMARY KEY,
    userID int not null,
    photoId int not null,
    comment_data varchar(200)
 )

你不能用这个吗?