我在子系统中有一个Person类。Contacts另一方面,在 CRM 子系统中,我有Customer.
在数据库设计中,我想在这些概念之间建立一种关系。有一些可能的方法:
- 每个客户都是一个人,因此客户应该从人继承,一旦他的人被移除,客户就会死去(组合)。在这种情况下,我们在表和表的列之间创建了
one-to-one关系,并且我们将表的列作为标识字段,但是我们在表中显式插入了。IdCustomersPeopleIdPeoplescope_identity()Customers - 每个客户都有一个人,因此客户和个人都有自己的生命周期(聚合),并且可以在没有对方的情况下生存。在这种情况下,
Customers表应该有一个表的外键People。这里的坏点是每个人都Person可以有很多Customers这对我来说似乎很奇怪。
哪种设计被推荐为最佳实践?我需要可靠的客观答案。谢谢你。