У меня есть таблица отношений / связей, которая предназначена для хранения отношений с несколькими базовыми таблицами.то есть у нас есть общая идея Tags
, которую можно применить к нескольким различным объектам, скажем, Company
, Building
и Customer
.Каждый из этих объектов имеет уникальный столбец Id
, который является идентификатором col.Я логически назначил 3 базовым объектам значение перечисления, поэтому Company
равно 1
, Building 2
, а Customer - 3
.
Что я сделал, так это обобщенно связал теги на основе логического составного ключа типа сущности и идентификатора сущности.
EntityType EntityId TagId
-----------------------------
1 99 22
Я хочу применить это, если тип сущности равен 1, представляющий запись компании, что в таблице компании есть запись с таким идентификатором (99, в приведенном выше примере).Конечно, я не могу добавить типичный внешний ключ в столбец Id таблицы компании, потому что не все записи таблицы ссылок ссылаются на записи компании.Мне нужно что-то, что проверяет правильную базовую таблицу на основе значения EntityType.
Я искал, но я не могу найти никаких примеров для этого, хотя я должен верить, что это не редкость.ТИА.