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

时间:2017-12-27 18:15:46

标签: database database-design relational-database

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

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

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

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

哪个选项更有效?

我愿意考虑别人的建议。

请注意,此表将存储数百万条记录,稍后将选择这些记录。

1 个答案:

答案 0 :(得分:2)

根据您的解释,

  除了子表之外,

表几乎具有相同的字段   将有一个parentId

最好使用一元关系并将parentchild放入一个表并使用null {{1}为父母。

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

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