I am working on a mini-DB app for people to upload documents and have the
information stored in a DB table. Many of the criteria they need to enter
for each form will be pulled from another table (so that the criteria,
themselves, can be edited as well).

For instance, for each document uploaded, they need to select a LANGUAGE and
a DISTRICT attribute.

I could build a separate table for both LANGUAGE and DISTRICT, or I could
just build one other table that would store all of these 'extra' variables
as such:

variableType variableID variableeName
language 1 english
language 2 spanish
district 3 first
district 4 second

Is there SOP for this? It makes sense to properly name each table and keep
them unique to the type of data, but the issue is we now have 20+ tables
floating around for the bigger app we have, and there's a bit of an argument
for reducing those tabls.

I'm guessing there is no right/wrong answer here but thought I'd get the
opinion of others on the subject.

-Darrel