I'm writing a simplistic accounting and point of sale application, which is going pretty well. I'm having a hard time deciding what to do when rolling over to a new year. There won't be a huge number of records (and MS-Dos doesn't need more than 640k right?).
I can think of a few options.
Keep all data in the tables and set the defaults to only look at the current year with options to look at previous years.
I could detach the data and store previous years in separate tables. In other words, instead of storing customer ID and retrieving the name from a customers table just store the actual name in the record. The idea being that changes to the active database tables can't alter this historical data. That still allows looking at previous data inside the same application though it'll be slower since lookups would be text or value based rather than a simple numerical index. Keeps the active tables small and fast.
I could also just make a copy of the database as a backup then use an empty database for the new year.
Any other ideas or preference out of the above?