В настоящее время у меня есть внешний ключ между двумя сущностями, и я хотел бы сделать это отношение условным для entityType одной из таблиц. Вот иерархия таблиц, это делается с помощью FK-ссылок от дочернего элемента к родительскому.
Store
/ \
Employees \
TransactionalStores
/ | \
Kiosks | BrickMortars
Onlines
В настоящее время у меня есть отношение FK от сотрудника к магазину
ALTER TABLE Employees ADD CONSTRAINT Employee_Store
FOREIGN KEY (TransStoreId)
REFERENCES TransactionalStores(StoreId)
Я хотел бы добавить условное:
WHERE TransactionalStores.storeType != 'ONLINE_TYPE'
Это возможно или я должен разделить TransactionalStores на два новых подтипа (например, PhysicalStores и VirtualStores)