检查博客应用程序的数据库设计

时间:2013-02-21 16:10:02

标签: database foreign-keys relational-database primary-key normalization

我正在创建一个博客应用程序 - 多个用户可以在其中发布,共享和喜欢博客。

我已经创建了数据库的大纲,但我不确定它是否正确。我不明白如何阅读外国关键词。

有人可以帮助我解决这些问题。我想到的一些问题是: -

- should the articles(blogs) details be stored in both 'Table Articles' and 'Table Share' at the time a user publishes an article. Will this help me in writing a php script in showing only the latest and shared articles on top of the page

- should articleid be stored in all tables?

以下是我的数据库概述

用户

表用户

-userid
-email
-name
-password
-date_of_registration

文章

文章有标题和描述。后来我计划添加图片,但现在不行。用户可以在注册或登录后发布文章。最新文章显示在页面顶部(以及共享文章)。

表格文章

-articleid
-userid
-title
-description
-datetime 

评论

用户应该能够对来自其他用户的文章发表评论+发布的人也应该能够发表评论

表评论

-commentid
-articleid
-userid
-comment
-datetime

分享

用户应该能够分享他们喜欢的文章。发布文章的人不能再分享。如果共享了一篇文章,它应该在所有文章之上(以及最新的文章)。

表共享

-articleid
-userid (the person who shared it)
-datetime

用户应该能够喜欢任何文章。

表赞

-articleid
-userid (the person who clicked on the like button)

1 个答案:

答案 0 :(得分:0)

  1. 确保您对用户密码进行哈希并存储盐。

  2. 选择一个共同的日期命名方案。 “行动”_at是一个很好的。例如,“registered_at”或“created_at”。你应该在单词之间使用下划线,以获得最大的兼容性和易读性。

  3. 您确定用户需要登录才能发表评论吗?许多博客系统让人们只评论一个电子邮件地址。没有评论主题?

  4. 您可以在like表中添加“created_at”字段。确保在article_id和user_id

  5. 上都有一个主键
  6. 分享如何运作?他们和谁分享?

  7. 否则,一个好的开始!