业务场景多种类型的客户:数据库设计,在同一个表
客户可以登录到在线电子商务应用,使用他们的电子邮件地址作为其登录信息。
我们有一个CRM应用程序依赖于同一个数据库。员工使用CRM应用程序添加非在线客户,并且此处不需要电子邮件字段。
技术上: 在客户表中没有什么“自然”做出PK。无论如何,即使没有自然的PK,我也总是使用人造PK。我担心这最终会导致搜索,完整性等方面的问题。但我无法确定究竟会出现什么问题。
我认为开发人员不会期望电子邮件列允许为空,他们将创建忽略这种情况的程序。
请记住整个系统和大部分数据库都依赖于客户数据,如果客户表中出现问题,它可能会被其他表继承。
两种类型的客户在我的大脑中触发异常,但我无法弄清楚异常的消息。你怎么看?现在找出一些出路是否更好?或者你认为,这样可以,直到出现问题为止,因为这不太可能会导致问题,请记住,问题不是由于秘密的问题,它可以是可维护性或发展并发症?
感谢
问题是什么?为什么不能使用简单的代理键(自动递增)作为PK? –
那我的意思是通过人工PK – Costa
CRM是一个打包解决方案还是内部开发? – home