design of maintenance database
IMO It is much better to have a design with multiple tables.  You will be able to track changes more effectively that way.

Also, for the fields that change, I would not go with a Name-Value pair of storage.  I would actually create tables with appropriately named columns.

Is data space really an issue for you?  You should run a few calculations estimates to see if space is really going to be an issue.  You'll be very surprised to see how much of a non-factor hard disk space is.