Greetings,
Just a bit of backgroung information - I am currently working on a relatively large desktop-based requirements management utility, and have come across an issue for which I believe I know the solution, but am hesitant to implement without further thought.
Basically, at anytime during the usage of this requirements management tool, someone can do a baseline (or label, for people more familiar with that term) of a document or directory of documents. Doing so requires that basically I make a maintain a copy of the entire active document or folder of documents, including any settings associated with each doc, traceability links and actual content (which is limited only to formatted text) so that users can come back later and look at it
I had originally considered an SVN approach of tracking edits in a table and upon on a baseline, creating a link to the latest copy of data that the baseline covered at that time...however the complexity of just overwhelmed me.
My second consideration was to simply make a copy of the table data associated with the active document or folder of documents that the baseline was applied to, and store that for safe keeping. The code complexity savings would be enormous, the schema would be kept simpler though there is some impact in terms of storage usage (though I do not believe it will be that big)
Anyway - Am I sane in thinking this way? I'm trying to develop this application with only a DBMS as my server-side application and a moderate number of clients that interact with it.
If I am sane, then is there any optimal route for storing duplicate data in the same database (creating a new database for simply a label is not what I would be looking towards). A set of copied tables perhaps, though for some reason, that seems just clumsy?