博客评论的数据库架构



我的博客上有一个评论表。

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

我应该分成三张桌子这样做吗?

comment
- id (PK)
- comment
user_comment
- comment_id (PK, FK)
- user_id (PK, FK)
post_comment
- post_id (PK, FK)
- comment_id (PK, FK)

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

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

此外,避免模式膨胀也是很好的。

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

如果你关心性能,你可以在评论表上创建索引,以便有效地选择每个用户和每个帖子的评论。

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

你不能用这个吗?

最新更新