SQL -多重继承



我有一个"子表" (C)和两个"超级表" (A, B):

  • A (id PRIMARY KEY)
  • B (id PRIMARY KEY)
  • C (id1, id2, c_col)

为了实现多重继承,我可以通过创建外键很容易地声明C.id1引用A.id, C.id2引用B.id。然而,由于我的模型(实际上是因为A和B也是另一个超级表的继承),id1和id2在一次出现时总是具有相同的值。我的问题是,你认为我需要在C表中创建一个额外的"id"列作为主键除了"id1"one_answers"id2"外键吗?更简单的是,我可以任意选择id1或id2列并定义为PRIMARY KEY吗?

我不知道我是否很清楚。如果没有,请告诉我你通常如何在SQL中建模多重继承。

您不应该任意选择id1或id2列并将其定义为PRIMARY KEY。在C表中最好使用不同的id作为主键。

最新更新