2015-02-10 2 views
0

вопрос ниже относится, но не предусмотрен никакой ответ: https://stackoverflow.com/questions/9104820/single-contact-table-for-multiple-entitiesнастройка БД (использование 1 контактной таблицы для нескольких таблиц)

У меня есть контактная таблица, которая имеет столбцы: Идентификатор (PK), Phone1, phone2 , EMAIL1, email2, fax1, fax2

у меня также есть 3 других таблицы: ПОСТАВЩИК, человек и клиент

Я хочу использовать эту 1 контакт таблицу в моих 3 других таблицах. Простой, используя CONTACT.id как FK в моих трех других таблицах.

Проблема с этим подходом заключается в том, что наши бизнес-правила требуют, чтобы ПОСТАВЩИК и КЛИЕНТ всегда имели телефон1 (NULL не допускается). Однако у ЧЕЛОВЕКА не должно быть телефона1 (здесь разрешен NULL).

Итак, какое лучшее решение здесь? (У меня есть некоторые возможные решения, но вы хотите узнать мнение других)

+4

Сохраните поле nullable в базе данных. Основываясь на ролях, подтвердите контактную информацию, прежде чем отправлять ее в «Просмотр». – adiga

+0

Ответ Marianogs - это вариант, но я использовал этот вариант для реализации, он хороший, thnx –

+0

это метод I, поэтому вы можете опубликовать его как ответ! –

ответ

1

Сохраните поле nullable в базе данных. Основываясь на ролях, подтвердите контактную информацию перед отправкой в ​​View.

0

Вы можете переместить колонку phone1 из таблицы CONTACT в таблицы ПОСТАВЩИК, ЧЕЛОВЕК И КЛИЕНТ. Вы можете оставить другие столбцы на столе CONTACT.

Смежные вопросы