我正在开发一个简单的博客应用程序,用户可以在其中撰写帖子,其他人可以喜欢,评论,分享等等。我在设计数据库时遇到了困难。 我试过的是:
user (user_id(pk), user_name)
post (post_id(pk), post_content, likes, user_id(fk))
comment(comment_id(pk), comment, post_id(fk))
问题:一个用户可以有很多帖子,许多用户可以喜欢和评论很多帖子。我是否必须将两个表分开:user
,post
和userpost
?
有人能告诉我这个设计有什么问题吗?
答案 0 :(得分:4)
您的comment
表缺少字段,表示添加此评论的用户。
将posts
和comments
加入一个表格也是一个好主意 - 因为评论只是一种帖子。因此,您只需要将记录中的帖子的parent_id存储在记录中以供评论。
并且likes
应该位于另一个表中,用于他们喜欢的用户和帖子之间的多对多关系。
所以你的表格看起来像:
users (user_id(pk), user_name)
posts (post_id(pk), parent_post_id(fk), date, post_content, user_id(fk))
likes (like_id(pk), post_id(fk), user_id(fk))
答案 1 :(得分:0)
像上面提到的那样。将评分放在另一个表中会更好
Ratings (Ratings_id(pk), user_id(fk), Post_id)
如上所述。
由于