Sobes.tech
Middle

Czy potrzebna jest tabela łącząca użytkowników z kodami promocyjnymi?

sobes.tech AI

Odpowiedź od AI

Tabela łącząca użytkowników i kody promocyjne jest potrzebna, jeśli istnieje relacja "wiele do wielu" między nimi. Na przykład, jeśli jeden użytkownik może korzystać z wielu kodów promocyjnych, a jeden kod promocyjny może być używany przez wielu użytkowników.

Jeśli jednak każdy kod promocyjny jest przypisany tylko do jednego użytkownika, lub odwrotnie, tabela łącząca nie jest potrzebna — wystarczy dodać klucz obcy do jednej z tabel.

Przykład tabeli łączącej:

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)
);