3

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

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)

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

4

3 回答 3

4

你的原创设计是完美的;它模拟实际发生的事情。

此外,最好避免架构膨胀。

于 2012-09-08T02:17:54.017 回答
2

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

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

于 2012-09-08T02:18:16.903 回答
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)
 )

你不能用这个吗?

于 2015-07-09T09:17:04.123 回答