We currently have a "Lookup" table which contains a set of possible choices for things like a drop down list. If this were a list of state abbreviations, LookupID would represent the set, and LookupItemID would represent the individual state.
customerID int PK
lookupID int PK
lookupItemID int PK
lookupValue string
This addresses storing DDL options, but not how they should end up in the View. It seems insane to setup referential integrity between every table that has an option list. For example, we have a "Buyer List" that has a list of Buyer Names, used in the Product screen (certain Buyers handle certain products)
Is there some way get the option list to the View? How about how to know which list is used for which field? Storing the field name in the table sounds like an EAV solution, which we want to avoid. However, we need to store the options for a field somewhere.
Any suggestions?