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