我正在开发一个简单的博客应用程序,用户可以在其中写文章,其他人可以喜欢,评论,分享等等,我在设计数据库时遇到了困难。我试过的是:
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
有人能告诉我这个设计有什么问题吗?
发布于 2014-10-31 10:52:19
您的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))发布于 2014-10-31 11:34:07
就像上面提到的人。最好把打分放在另一张桌子上
Ratings (Ratings_id(pk), user_id(fk), Post_id)
就像上面提到的。
谢谢
https://stackoverflow.com/questions/26672496
复制相似问题