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

How to do a database relation to entities that share same fields

我有两个实体,一个 parent 和另一个 child。我有 parent 的统计数据(计数、视图、评论),还有 parent 的 child 的统计数据(计数、视图、评论)。 Parents 和 children 共享相同的字段,但它们是一对多的关系(一个 parent 有多个 children)。

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

我不确定创建两个 table 并使用外键是否会更有效率(table 几乎具有相同的字段,除了 child table 将有一个 parentId)。

另一种情况可以将所有数据(parent和child)放在同一个table中并尝试做一个自身关系。

以下哪个选项效率更高?

我愿意考虑其他人的建议。

请注意,此 table 将存储数百万条记录,稍后将是 select。

根据您的解释,

tables will almost have the same fields, except that child's table will have a parentId

最好用一元关系,把parentchild放在一个Table 并将 null parentId 用于 parents.

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

在这种情况下(如果您对这些字段有很多操作),您可以将 countviewscomments 放在其他 table 中并制作一个 one-to-one关系主要table。