来自同一个 class 的聚合和继承?

Aggregation and Inheritance from the same class?

如果我同时拥有 "is a" 和 "has a" 关系,最佳做法是什么,如下图所示

任何帮助将不胜感激。

这种is-a和has-a同时存在的关系大多是自指关系。

这种关系的典型例子是员工与经理。经理是一名员工,经理有很多员工向他汇报。

因此,最佳做法是将外键指向同一个 table。详细说明 - 如果我们采用与上面所说的员工经理相同的示例,那么员工 table 将有一个列 'manager',它只是员工 table 本身的外键。