如何为博客系统设计数据库?

时间:2014-10-31 10:29:46

标签: mysql sql database database-design rdbms

我正在开发一个简单的博客应用程序,用户可以在其中撰写帖子,其他人可以喜欢,评论,分享等等。我在设计数据库时遇到了困难。 我试过的是:

user (user_id(pk), user_name)

post (post_id(pk), post_content, likes, user_id(fk))

comment(comment_id(pk), comment, post_id(fk))

问题:一个用户可以有很多帖子,许多用户可以喜欢和评论很多帖子。我是否必须将两个表分开:userpostuserpost

有人能告诉我这个设计有什么问题吗?

2 个答案:

答案 0 :(得分:4)

您的comment表缺少字段,表示添加此评论的用户。

postscomments加入一个表格也是一个好主意 - 因为评论只是一种帖子。因此,您只需要将记录中的帖子的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)

如上所述。

由于