0

假设我需要为公告牌网站设计一个数据库。
类似stackoverflow的东西,这意味着有一个主题和一系列帖子
,但是没有线程帖子(不是基于树的设计)

我想到了两个主要选择:

  1. 主题表和帖子表。帖子有“topic_id”字段
  2. 没有主题表。只有一个大的 Post 表。

你认为更可取的选择是什么?

4

1 回答 1

1

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

因此,要在关系式设计中捕捉到这一点,您将拥有三个表:

  1. POST(post_id、作者等)
  2. 主题(topic_id、名称等)
  3. POSTTOPIC (post_id, topic_id)

POSTTOPIC 的原因是因为一个帖子可能有多个标签。使用#3,可以很容易地为帖子分配/取消分配标签或查找具有特定主题的帖子。POST 中的任何一个列都无法容纳。

于 2012-08-04T10:49:48.530 回答