Thanks for the explanation-- and the long answer! I appreciate stuff like this because it makes it easier to choose the correct way the next time I'm confronted with choices.
I have been using single table inheritance (STI) for my lookups. When something really different comes along-- you're right-- I do have to change to a separate table. The trade-off is that I don't have to repeat myself for the standard stuff: all my lookups have a display, key value, effective_date range, and active flag.
With many people throwing around DRY as a good idea, do you think that separate tables is always the best starting place? I think that for tables that have a low chance of being structurally changed, STI is a decent time saver. But, I've got to admit that my proverbial short cuts don't always pay dividends. What's your feeling on STI?