maxon
Новичок
Вопрос проектирования (юр. и физ. лица)
Есть два типа клиентов: физ. лица и юр. лица. Каждый тип имееет разный набор атрибутов, следовательно хранить в одной таблице их нельзя. Есть два варианта:
- хранить их в разных таблицах, выборку делать по двум таблицам с UNION.
- хранить в одной таблице данные, которые одинаковы как у физиков так и у юриков, а отличающиеся атрибуты, выносить в соответсвующие таблицы со связью (например для юр. лиц - таблица реквизиты, для физ. лиц - таблица паспортные данные).
В случае с первым вариантом возникает проблема идентификации пользователя в таблице заказов, два пользователя (юр. и физ. лицо) могут иметь одинаковый ключ, следовательно в таблице заказов их заказы могут пересекаться.
Как обычно поступают?
Есть два типа клиентов: физ. лица и юр. лица. Каждый тип имееет разный набор атрибутов, следовательно хранить в одной таблице их нельзя. Есть два варианта:
- хранить их в разных таблицах, выборку делать по двум таблицам с UNION.
- хранить в одной таблице данные, которые одинаковы как у физиков так и у юриков, а отличающиеся атрибуты, выносить в соответсвующие таблицы со связью (например для юр. лиц - таблица реквизиты, для физ. лиц - таблица паспортные данные).
В случае с первым вариантом возникает проблема идентификации пользователя в таблице заказов, два пользователя (юр. и физ. лицо) могут иметь одинаковый ключ, следовательно в таблице заказов их заказы могут пересекаться.
Как обычно поступают?