Допустим есть таблица all_products, в которой имеется unique составной индекс на поля src и src_id.
create table all_products(
id int AUTO_INCREMENT,
src int,
src_id int,
PRIMARY KEY(id),
UNIQUE KEY `src_connect` (`src`, `src_id`))
src - это источник (тип продукта)
src_id - это индекс сущности в другой таблице (таблица определяется в зависимости от src)
Реально ли сделать src_id как foreign key? (Некто слишком умный сейчас ругается, что связей нет между таблицами... но таблица all_products нужна, т.к. кроме локальных таблиц есть ещё продукты, подгружаемые по api)