【发布时间】:2012-08-04 18:49:48
【问题描述】:
假设我需要为公告牌网站设计一个数据库。
类似于 stackoverflow 的东西,这意味着有一个主题和一系列帖子
但是,没有线程帖子(不是基于树的设计)
我想到了两个主要选项:
- 主题表和帖子表。帖子有“topic_id”字段
- 没有主题表。只有一个大的 Post 表。
您认为更可取的选择是什么?
【问题讨论】:
假设我需要为公告牌网站设计一个数据库。
类似于 stackoverflow 的东西,这意味着有一个主题和一系列帖子
但是,没有线程帖子(不是基于树的设计)
我想到了两个主要选项:
您认为更可取的选择是什么?
【问题讨论】:
好吧,stackoverflow 是一种基于标签的设计,其中一篇文章可能有多个主题/标签。
因此,要在关系式设计中捕捉到这一点,您将拥有三个表:
POSTTOPIC 的原因是因为一个帖子可能有多个标签。使用#3,可以很容易地为帖子分配/取消分配标签或查找具有特定主题的帖子。 POST 中的列都无法容纳。
【讨论】: