У меня есть одна таблица с изображениями, которые мне нужно связать с 6 другими таблицами. Предположим, что эти таблицы - это пользователи, таблицы, продукты, рестораны, категории и корабли.Соединительная таблица, соединяющая несколько таблиц
Должен ли я создать 6 разных таблиц соединения, чтобы каждая таблица имела свой собственный соединительный стол - Images_Users, Images_Tables, Images_Restaurants и т. Д.?
Или лучше создать одну таблицу с полем, чтобы отличить, где он связывает - Images_Entity с Поля- Id, image_id, ENTITY_ID, ENTITY_TYPE (я использую это, чтобы отличить ли его пользовательской таблицы, продукты питания, или любой другой) , Мне не нравится это решение, так как в этом случае мне не хватает ограничений FK, но я склоняюсь к тому, что проект уже будет иметь большое количество таблиц.
Возможно, существует третий подход? Создать 6 таблиц изображений? Какое решение лучше всего подходит для работы?
EDIT * База данных будет использоваться для отображения данных, вставки, обновления производительности не является проблемой, только выберите утверждения. Я просто понял, что никакое изображение не может ссылаться на две записи (это делает избыточные таблицы соединений).
Позвольте мне перефразировать вопрос целиком. Каков наилучший способ подключения таблицы только с одной из шести других таблиц, использующих связь от одного до другого?
Таблица изображений должна содержать FK и может ссылаться только на одну из шести таблиц, а не на две одновременно.
Решение основано на том, как данные будут использоваться. Вы не указываете, как будет использоваться база данных, поэтому для информированного ответа очень мало информации. –
Добавлено описание. –
От одного до многих в каком направлении? Может ли в одном ресторане много изображений или может быть один образ во многих ресторанах? – GolezTrol