Как сделать связь ManyToOne вьюхи с таблицей?
Есть таблица с фотографиями автомобилей images, в ней есть колонки "производитель" (марка изображенного автомобиля) и "источник" (источник фотографии).
Разумеется, т.к. будет много фото с одинаковым производителем и из одинакового источника выделим их в отдельные таблицы и свяжем с images как ManyToOne:
2-я таблица "Производители"
3-я таблица "Источники"
Но, теперь мы столкнемся с проблемой, источником у фотографии часто будет сайт производителя автомобиля. т.е. 2-я и 3-я таблицы, будут хранить одно и тоже. Например "производитель" - Tpyota, "источник фото" - Toyota.
Пользоваться только таблицей "Производитель" нельзя, т.к. источником у фото может быть не только производитель, но и фотограф или газета.
Решение - делаем view из таблиц производители + фотографы + газеты. и эта view будет нашим "источником" для фото.
Но как сделать связь один ко многим из view? По id? Дк, оно генерится черт знает как и если я вдруг во view добавлю таблицу "иллюстратор" и по сути пересоздам view, то id могут пересчитаться и связь колонки "источник" с id в таблицк view_источники испортится. Привязываться не к Id вьюхи, а к id производителя/фотографа/иллюстратора? Дк, во всех трех будет присутствовать id = 1 и мы будем иметь 3 id со значением 1. К такому не привяжешься.
Как сделать стабильную связь ManyToOne вьюхи с таблицей. Вообще, у меня правильный ход мыслей или решение проблемы с повторением данных в таблицах "производители" и "источники" через view - это изврат?