Klucz obcy, lub string w jednej kolumnie?

0

Chciałbym dać użytkownikowi możliwość wyboru jednej z podanych opcji (lista z innej tabeli), lub wpisania własnego stringa. Jak to powinno być zaprojektowane w bazie? Do tej pory robiłem po prostu kolumnę varchar, którą obsługiwałem ifem - jeżeli była liczba to zaciągałem dane z oddzielnej tabeli, a jeżeli nie to brałem stringa z kolumny. Zdaję sobie sprawę z tego, że na pewno to nie jest najlepsze rozwiązanie. Do głowy przychodzi mi jeszcze zrobienie dwóch kolumn costam_ID (FK int) | custom (varchar), wtedy zawsze jedna byłaby nullem, a druga właściwą wartością, ale może da się to lepiej wymyślić?

0

a nie możesz mieć dwóch kolumn - id i value. Jak id = 0 to znaczy, że tekst od usera i trzeba z value pobrać.
Nie bardzo rozumiem, gdzie to costam_ID (FK int) | custom (varchar) miało by być

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0