我最近阅读了一些关于数据建模的文章,并且对实体可能扮演的角色有疑问。
考虑一个简单的案例,您有一家公司,一家公司可以是供应商、客户、分销商等,也可以是这些角色的组合。因此,X 公司可能既是供应商又是客户。
在数据级别下,您可能有一个 CompanyS 表,然后是 SupplierS、CustomerS 等引用 Company 表的表。至少我认为这就是它的表现方式。
好的,所以在应用程序领域的某个地方,您有 CustomerS 和 SupplierS 等的类。每个都由一个公司组成,然后是该特定类别的其他任何特殊之处。
只要我们一次只使用一个实体类,这一切都很好,对我来说很有意义。如果我们想从一家公司开始,看看它扮演什么角色怎么办?所以在一个应用程序中,我可能会拉出一个公司,然后看到它是供应商和分销商。
现在我可以想到几种不同的方法来做到这一点,但我觉得因为这个问题域太老了,所以必须有一些经过验证的真实模式来对这些概念进行建模。
因此,我在这里寻找的是在应用程序级别对实体角色进行建模的常用策略或模式。关于这个特定主题的具体参考资料将不胜感激(无论是博客、书籍还是其他)。