下面的问题是相关的,但是没有提供答案: https://stackoverflow.com/questions/9104820/single-contact-table-for-multiple-entitiesDB设置(使用多个表1个联络表)
我有有列的联系表:ID(PK),PHONE1,PHONE2 ,EMAIL1,EMAIL2,FAX1,FAX2
我也有其他的3个表:供应商,人员和客户
我想在我的其他3个表来使用这个1个联络表。通过在我的其他三张表中使用CONTACT.id作为FK很简单。
这种方法的问题在于我们的业务规则要求供应商和客户始终拥有phone1(不允许NULL)。然而,PERSON不必有phone1(这里允许NULL)。
那么这里最好的解决方案是什么? (我有一些可能的解决方案,但想知道其他人的意见)
保持数据库中的字段不可空。根据角色,验证联系人信息,然后在您的“视图”中提交。 – adiga 2015-02-10 08:31:29
Marianogs答案是一个选项,但我用这个选项来实现,这是一个很好的选择,thnx – 2015-02-17 08:28:52
这是我选择的方法,因此您可以将其作为答案张贴! – 2015-02-18 08:33:42