0

我有一个社交网络系统,里面有话题、任务、问题、链接、文档、视频等等。我打算将它们全部放在一个名为 的表中posts,并且有一个列名kind要识别。这是一个好的设计吗?为什么 ?

顺便提一句:

1、我用的是postgresql 2、我只是觉得它们之间有很多重复的列,例如:标题、内容、created_at和作者

4

4 回答 4

2

根据您的描述,所有这些域对象似乎都有一些共同点。否则,您甚至不会考虑将它们存储在一张表中。您是否偶然地描述了将继承映射到关系模型的技术之一,称为单表。上面的链接详细描述了其他技术以及它们的优缺点

于 2012-07-24T12:57:26.110 回答
1

您无法索引要对其执行搜索的列。为什么首先要将所有内容放在同一张桌子上?

于 2012-07-24T12:56:59.190 回答
0

不,它将这些东西限制为所有具有相同属性的东西。因此,例如,如果“链接”需要一个 URL 字段、一个主题、一个任务、一个问题等,都必须有一个。

于 2012-07-24T12:54:19.200 回答
0

这不是 postgresql 的好设计。规范化关系数据库中的数据非常重要。

您应该考虑使用 NoSQL 数据库系统,例如mongodb

于 2012-07-24T12:54:25.260 回答