Sobes.tech
Back to questions
Middle
5

Нужна ли связующая таблица между users и promo_codes?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Связующая таблица между users и promo_codes нужна, если между пользователями и промокодами существует отношение «многие ко многим». Например, если один пользователь может использовать несколько промокодов, и один промокод может быть использован несколькими пользователями.

Если же каждый промокод привязан только к одному пользователю, или наоборот, то связующая таблица не нужна — достаточно добавить внешний ключ в одну из таблиц.

Пример связующей таблицы:

CREATE TABLE user_promo_codes (
  user_id INT,
  promo_code_id INT,
  used_at TIMESTAMP,
  PRIMARY KEY (user_id, promo_code_id),
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (promo_code_id) REFERENCES promo_codes(id)
);