Database design EER模型,联合类型

Database design EER模型,联合类型,database-design,Database Design,我当时正在研究EER模型,当时我有这个疑问。你能告诉我为什么我们有一个联合类型来描述3个超类的联合吗。我们就不能有一个多重继承模型吗 或者两者之间还有其他区别吗 EER文献中经常使用您给出的所有者示例来解释联合(或类别)。我不觉得这个例子特别有启发性,因为它也可以很容易地通过继承来表达 联合和继承之间的区别在于,从父实体p继承的每个子实体C都从p继承所有属性(属性、关系),而联合没有这种继承机制。工会只是其成员实体的一个子集 现在,所有者示例中的子实体都包含名称和地址,因此可以通过继承来表示。

我当时正在研究EER模型,当时我有这个疑问。你能告诉我为什么我们有一个联合类型来描述3个超类的联合吗。我们就不能有一个多重继承模型吗

或者两者之间还有其他区别吗


EER文献中经常使用您给出的所有者示例来解释联合(或类别)。我不觉得这个例子特别有启发性,因为它也可以很容易地通过继承来表达

联合和继承之间的区别在于,从父实体p继承的每个子实体C都从p继承所有属性(属性、关系),而联合没有这种继承机制。工会只是其成员实体的一个子集

现在,所有者示例中的子实体都包含名称和地址,因此可以通过继承来表示。事实上,母公司实体应被称为“人”(自然人或法人),这将清楚表明每个人都具有某些属性,也可以作为所有者

更好的例子可能是归档。它可以包含很多不需要有任何共同点的东西,除了作为一个对象之类的琐事。因此,您可能有实体Letter、Bill和ProductDescription,它们没有公共属性,但都可以充当ArchiveContent


因此建议:如果实体具有某种由公共属性表示的语义关系,则使用继承。如果它们只是为了一个特定的目的而组合在一起,请使用union。

您是在询问泛化/专门化还是其他问题?在我看来,union与O.O中的标记接口的概念类似。