如何在MySQL中构建一个非常简单的博客表?

时间:2012-09-10 15:36:56

标签: mysql database database-design blogs

我想在我现有的一个LAMP网站上添加一个非常简单的博客功能。它将与用户现有的个人资料相关联,并且他们可以简单地为他们博客中的每个帖子输入标题和正文,并且日期将在提交时自动设置。他们可以随时编辑和删除任何博客文章和标题。博客将显示从最近到最旧,可能是20个帖子到一个页面,并在其上方有适当的分页。其他用户可以在每个帖子上留下评论,博客所有者可以将其删除,但不能预先评论。基本上就是这样。就像我说的那样,非常简单。

我应该如何为此构建MySQL表?

我假设因为会有博客帖子和评论,我需要为每个人单独一个表,这是正确的吗?但是,我需要在每个表中使用哪些列,我应该使用哪些数据结构,以及如何将两个表链接在一起(例如,任何外键)?

我找不到任何类似这样的教程,而我想要做的就是为我的用户提供最简单的博客版本。没有标签,没有审核,没有图像,没有花哨的格式化等等。只是一个简单的日记型纯文本博客,其他用户评论。

1 个答案:

答案 0 :(得分:27)

我说你需要下面的表格

Posts
  PostID (identity)
  PostTitle (varchar)
  PostDate (datetime)
  Deleted (int)
  OwnerID (int FK to Users)

PostDetails
  PostDetailID (identity)
  PostID (FK to Posts)
  Sequence (int) -> for long posts you order by this
  PostText (text)

Comments
  CommentID (identity)
  Comment (text)
  CommenterID (int FK to Users)
  CommentDate (datetime)
  Deleted (int)

Users
  UserID (identity)
  UserNAme (varchar)
  UserEmail (varchar)
  CreatedDate (datetime)
  Active (int)

所有日期时间字段默认为当前时间,所有标识字段均为PK 如果您不使用文本类型并使用varchar,则可以在帖子详细信息中显示序列字段,以便您可以将帖子拆分为多个记录。

除此之外,我会查看任何开源博客系统,看看他们做了什么,减去我不需要的东西。

希望有所帮助