Hi Dmirty,
In my previous job we have every lookup table as a separate entity in the database called Lookups. Here at my new work we're using one big table called VisCodes with the structure similar which Chad described. So, both ways are legitimate.
If it's not broken, fix it until it is.
My Blog