@TRIG

Может ли промежуточная таблица для связи 'многие-ко-многим' использоваться как отдельная сущность?

Есть таблицы:
1. Товар
2. Поставщик
3. "Товар-Поставщик" (промежуточная)
4. Динамика цен

Может ли таблица "Товар-Поставщик" иметь связь с таблицей "Динамика цен" со своим FK в ней, даже если у таблицы "Товар-Поставщик" нет своих полей, кроме составного PK?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
hint000
@hint000
у админа три руки
Во-первых, нет такого запрета.
Во-вторых, в приведённом примере это действительно имеет смысл, поскольку у каждого поставщика цены могут меняться независимо от цен других поставщиков.
Если не делать связь таблицы "Товар-Поставщик" с таблицей "Динамика цен", то это только усложнит структуру, а пользы не добавит. Поэтому да, есть смысл делать такую связь.

Альтернативный вариант - это сразу сделать большую таблицу "Товар-Поставщик-Дата-Цена" и использовать её двояко: (1) для связи "Товар-Поставщик" используется ключ "Товар-Поставщик", (2) для динамики цен используется ключ "Товар-Поставщик-Дата". Ну, это, видимо, не соответствует нормальной форме, так что спорный вариант. Но считаю, что он имеет право на жизнь, в зависимости от количества данных, в зависимости от популярных запросов и т.д. Иногда полезно, а иногда не полезно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы