Załóżmy, że mamy subskrypcje i użytkowników. Jeden użytkownik może mieć tylko jedną subskrypcję. Są dwa rozwiązania, żeby to wymusić:
- Klucz obcy
subscription_id
w tabelce users. - Klucz obcy
user_id
w tabelce subscriptions, ale dodany unique.
Czy jakieś rozwiązanie ma więcej wad/zalet?
Przykład nr 2:
User ma avatar, albo oferta ma tylko jedno główne zdjęcie (może mieć pińcet). Ustawiamy odpowiednio users.avatar_id
do tabelki z plikami i to samo dla ofert klucz main_photo_id
, czy jakoś inaczej?
Wiem, że to wszystko można wymusić z poziomu aplikacji, ale chciałbym, żeby do mojej bazy pod żadnym pozorem nie mogło trafić g**no.