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