我有两个实体,一个父母和另一个孩子。我有父母的统计数据(计数,观点,评论),还有父母子女的统计数据(计数,观点,评论)。父母和孩子共享相同的领域,但他们有一对多的关系(一个父母有很多孩子)。
我对如何模拟这种情况很困惑。
我不确定天气会更高效创建两个表并使用外键(表几乎会有相同的字段,除了子表将有一个parentId)。
另一种情况可能是将所有数据(父级和子级)放在同一个表中并尝试建立自己的关系。
哪个选项更有效?
我愿意考虑别人的建议。
请注意,此表将存储数百万条记录,稍后将选择这些记录。
答案 0 :(得分:2)
根据您的解释,
除了子表之外,表几乎具有相同的字段 将有一个parentId
最好使用一元关系并将parent
和child
放入一个表并使用null
{{1}为父母。
但有时我们可以将一些属性提取到另一个表中。
如果对某些字段的操作如此之多(例如某些字段上有如此多的更新),最好在其他表中提取它们。
在这种情况下(如果您对这些字段有很多操作),您可以将parentId
,count
,views
放在其他表格中,并建立一对一的关系主表。