• That all makes good sense.

    I'll look into 6NF, but I think that may over-complicate things (as you suggested).

    The real goal here is just to store the data. Since new columns are needed and all the old ones retired each time we version change, it does seem that just versioning off the tables makes good sense.

    What makes things worse about the current approach is that sometimes (say two or three versions later) a discontinued column is brought back into use which just complicates tracking what was used for which version and when 🙂