Conceptual Model |我无法找到任何具有它自己PK的子类的例子。我知道主键person_id是从超类继承而来的,但我不知道它是否与子类相结合。 PK,employee_id,用于在子类中创建复合PK'关系模型。
基本上,哪个是正确的?
员工( employee_id , person_id ,姓名,工资)
OR
员工( employee_id ,person_id,姓名,薪水)
假设层次结构不是强制性的。
这只是一个帮助我理解这个过程的简单例子,所以不要担心概念模型的优点。
答案 0 :(得分:0)
复合PK是一个坏主意 - 它将允许记录具有相同employee_id和不同person_id(或相同person_id和不同employee_id)的多个行。而是将employee_id设为PK,将person_id设为单独的唯一密钥。
从概念上讲,当子类型具有自己的标识时,可以将其视为与父实体集关系的不同实体集,而不是子类型。我不会在EER图中使用子类型表示法来表示这些情况。
最后,在讨论数据建模时,请避免使用OOP术语(子类化,继承)。 OOP用于在通信状态机方面分解系统,不应与分层,网络,实体关系或关系数据模型混淆。