Как получше объединить две таблицы?

BVN

Для примера, есть две таблицы:Собственные розничные точки - Points(Id, ...)Сторонние контрагенты - Contractors(Id, ...),причем объединить их в одну нельзя, т.к. программа разрарабатывается для розничной сети и на Points завязаны другие многие таблицы (пользователи, права, параметры и т.д.).Есть еще таблица - документы: Docs(Id, Contractor, ...). Хотелось бы иметь возможность достаточно просто и эффективно (для примера, через поле Contractor) ссылаться на обе таблицы Points и Contactors, естественно с обеспечением ссылочной целостности по внешним ключам.Пока пришла идея использовать дополнительную таблицу с вычислимым полем:ContractorsAndPoints(Kind,Point null, Contractor null, CalculateField)Есть ли другие способы?
4 ответа

BVN

Без доп таблицы скорее всего не выйдет


BVN

Целостность можно поддерживать триггерами. Но если таких таблиц, которые ссылаются на 2 сразу будет много, то все это может слегка притормаживать


BVN

Целостность можно поддерживать триггерами.
Поддерживать-то можно, но очень хочется через внешние ключи.И очень хочется, чтобы выборки были достаточно простыми.


BVN

Имхо, если хочется через внешние ключи, то единственный вариант вы сами и предложили.У меня подобное было, но в результате слил-таки две таблицы в одну, т.к. задача это позволяла.