0

我有遵循复合模式关系的类,我需要为其创建 Oracle 数据库的关系数据模型。(java)类如下 -

class AbstractEmployee {
    int employeeId;
}

class Employee extends AbstractEmployee {
    Date joiningDate;
}

class Supervisor extends AbstractEmployee {
    List<AbstractEmployee> directs;
    int officeLocationId;
}

显然,有一些属性在所有类之间共享,并且还有其他属性特定于每个类。为上述场景创建 sql 表的最佳方法是什么?

我可以看到有不同的方法来处理层次结构,即 TPC、TPH 和 TPT,正如数据库中的后继承所提供的那样。但是,复合模式在本质上是递归结构时会带来额外的复杂性,因此,模式可能会极大地影响选择/插入查询的性能。

如果可能,请讨论您的解决方案在可扩展性和性能方面的优缺点。

4

0 回答 0