公告板数据库设计

时间:2012-08-04 10:02:32

标签: database database-design

假设我需要为bulltin-board网站设计数据库 像stackoverflow这样的东西意味着有一个主题和一系列帖子
但是,没有线程帖子(不是基于树的设计)

我想到了两个主要选择:

  1. 主题表和帖子表。帖子有“topic_id”字段
  2. 没有主题表。只有一张大邮政表。
  3. 您认为更优选的选择是什么?

1 个答案:

答案 0 :(得分:1)

好吧,stackoverflow是一个基于标记的设计,其中帖子可能有多个主题/标签。

因此,要在关系式设计中捕获它,您将有三个表:

  1. POST(post_id,作者等)
  2. 主题(topic_id,名称等)
  3. POSTTOPIC(post_id,topic_id)
  4. POSTTOPIC的原因是因为帖子可能有多个标签。使用#3,可以轻松地为帖子分配/取消分配标签或查找包含特定主题的帖子。 POST中的一列都不能容纳。