I have a column varchar titled Frequency where I can only insert a pre-defined set or strings
'Daily', 'Weekly', 'Monthly', 'Yearly'
and nothing else and they won't change for sure.
Is there any reason to create a separate table titled Frequencies and a reference to its ids via a foreign key or should I keep the column Frequency in the main table in terms of performance, readability, maintenance, etc.
Performance-wise, int is better, yes, but one additional request to a separate table is worse.
Or maybe it's better to keep integers in the main table, not to create the 2nd table and on a client side create a map:
1 -> 'Daily',
2 -> 'Weekly',
3 -> 'Monthly',
4 -> 'Yearly'