• This is a problem which Date's 6NF is ideal for. The vertical design is a big problem, history shouldn't be a record of changes if you want to be able to reproduce old reports and so forth, it should be a record of sates at particular times. In order to avoid this blowing up into an enormous mass of data, you have to tag things with srat or end dates at fine granularity. I sugest you look up sixth normal form and anchor modeling, and see if that gives you an idea for a different approach to your data that will resolve some of your problems.

    Warning: there are two different things both called 6th Normal Form; the one relevant to keeping histories is Dates 6NF, not Ron Fagin's 6NF.

    Tom