如何与共享相同字段的实体建立数据库关系

问题描述 投票:0回答:1

我有两个实体,一个父母和另一个孩子。我有父母的统计数据(计数,观点,评论),还有父母子女的统计数据(计数,观点,评论)。父母和孩子共享相同的领域,但他们有一对多的关系(一个父母有很多孩子)。

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

我不确定wheather会更高效地创建两个表并使用外键(表几乎会有相同的字段,除了child的表将有一个parentId)。

另一种情况可能是将所有数据(父级和子级)放在同一个表中并尝试建立自己的关系。

哪个选项更有效?

我愿意考虑别人的建议。

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

database database-design relational-database
1个回答
2
投票

根据你的解释,

表几乎具有相同的字段,除了子表的将具有parentId

最好使用一元关系并将parentchild放在一个表中,并使用null parentId作为父母。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.