数据库设置(使用 1 个联系人 table 多个 table)
DB setup (use of 1 contact table for multiple tables)
下面的问题是相关的,但没有提供答案:
我有一个联系人 table,它有以下列:id(PK)、phone1、phone2、email1、email2、fax1、fax2
我还有另外 3 个 table:供应商、个人和客户
我想在其他 3 个 table 中使用这 1 个联系人 table。在我的其他 3 个 table 中使用 CONTACT.id 作为 FK 很简单。
这种方法的问题在于我们的业务规则要求供应商和客户始终拥有 phone1(不允许为 NULL)。然而,一个人不一定要有手机 1(此处允许为 NULL)。
那么最好的解决方案是什么? (我有一些可能的解决方案,但想知道其他人的意见)
您可以将 phone1 列从 table CONTACT 移至 tables SUPPLIER、PERSON 和 CLIENT。
您可以在 table CONTACT.
上留下其他栏目
在数据库中保持字段可为空。根据角色,验证联系信息,然后在 View
.
中提交
下面的问题是相关的,但没有提供答案:
我有一个联系人 table,它有以下列:id(PK)、phone1、phone2、email1、email2、fax1、fax2
我还有另外 3 个 table:供应商、个人和客户
我想在其他 3 个 table 中使用这 1 个联系人 table。在我的其他 3 个 table 中使用 CONTACT.id 作为 FK 很简单。
这种方法的问题在于我们的业务规则要求供应商和客户始终拥有 phone1(不允许为 NULL)。然而,一个人不一定要有手机 1(此处允许为 NULL)。
那么最好的解决方案是什么? (我有一些可能的解决方案,但想知道其他人的意见)
您可以将 phone1 列从 table CONTACT 移至 tables SUPPLIER、PERSON 和 CLIENT。 您可以在 table CONTACT.
上留下其他栏目在数据库中保持字段可为空。根据角色,验证联系信息,然后在 View
.