2017-12-27 429 views
0

我有两个实体,一个父母和另一个孩子。我有一个父母(数量,意见,评论)的统计数据,也有父母的孩子(数量,意见,评论)的统计数据。父母和孩子分享相同的领域,但他们有一对多的关系(一个父母有很多孩子)。如何与共享相同字段的实体建立数据库关系

我很困惑如何模拟这种情况。

我不确定wheather会更有效率创建两个表并使用外键(表中将几乎具有相同的字段,除了孩子的表将具有parentId)。

其他情况可以将所有数据(父母和孩子)放在同一个表中,并尝试建立自己的关系。

以下哪个选项更高效?

我打开考虑别人的建议。

请注意,此表格将存储数百万条记录,稍后会进行选择。

+0

请显示一些设计。 (无论如何,你的描述太模糊了。)请阅读并在[mcve]上采取行动。 “高效”意味着什么 - 请谷歌关于它和同义词的问题,包括我对“最好”的评论。 – philipxy

回答

2

根据你的解释,

表几乎有相同的领域,不同的是孩子的表 将有parentId的

,最好使用一元关系,把parentchild一个表和用于父母的nullparentId

但是有时我们可以提取一些属性到另一个表。
如果对某些字段的操作太多(例如对某些字段有如此多的更新),最好在其他表中提取它们。

在这种情况下(如果您对这些字段有很多操作),可以将count,0 views,comments放在其他表中,并在主表之间建立一对一的关系。

相关问题