У меня есть БД, где три из таблицы имеют отношения FK, поскольку:SQL Server Key Иностранные отношения с двумя таблицами
Таблица А имеет 2 (соответствующие) поля:
TypeId (INT)
LinkId (int)
В таблицах B и C имеется первичный ключ, который сопоставляется с LinkId в таблице A. Если TypeId в таблице A равен 1, то LinkId сопоставляется с первичным ключом в таблице B. Если это 2, то он отображает к первичному ключу в таблице C.
В этой плохо сконструированной БД есть в любом случае для обеспечения ссылочной целостности среди этих таблиц? т. е. можно ли запретить SQL Server вставлять запись в таблицу A, если соответствующая запись не существует в таблицах B или C?
Я предполагаю, что это было бы возможно, прежде чем триггеры, но это не так просто, чтобы правильно строить их. Можно ли перепроектировать таблицы? –
Таким образом, внешние ключи от TBL_A до B или C? ИЛИ от B, C до A? Не могли бы вы указать определение внешних ключей? –