Keeping versions of a record

Reply

Join Date: Mar 2006
Posts: 1
Reputation: djfriendly is an unknown quantity at this point 
Solved Threads: 0
djfriendly djfriendly is offline Offline
Newbie Poster

Keeping versions of a record

 
0
  #1
Mar 24th, 2006
Hi,

I'm fairly new to databases and database design - I'm wondering the best way of implementing a method of versioning a record.

I'm designing a database for a simple document management application. The database has users who create and edit documents as well as adding comments to the docs. When a document is updated, I would like the old version to be stored. There will be an option to recover an old version.

I have a possible solution:

User - id, first_name, last_name, etc...
Primary key: id

Document - id, version_number, file_name, description
Primary keys: id, version

Comment - doc_id (foreign key), comment_number, comment_by_user (FK)
Primary key: doc_id, comment_number

Is this a good solution? All the documents and their old versions are stored in the same table. To locate the the current document you would use version 0. The comments are non-version specific, which I think right.

Any comments welcome, thanks.
Reply With Quote Quick reply to this message  
Join Date: Oct 2005
Posts: 523
Reputation: pty is on a distinguished road 
Solved Threads: 37
pty's Avatar
pty pty is offline Offline
Posting Pro

Re: Keeping versions of a record

 
0
  #2
May 11th, 2006
hi - i know this is a bit late and you've probably sorted out this issue

my instinct would be to have a documents table and a revisions table

documents: id, title, summary.

revisions: id, document_id, revision_number, file_location, uploaded_by, uploaded_ts...

so when you add a new document, for example holiday_form.pdf, a new document tuple is added and a version 1 (or whatever) revision is added.

you could create a folder per document and store the revisions - i've done this in the past by naming the revisions:
<document_name>_v<revision_number>.pdf
Reply With Quote Quick reply to this message  
Join Date: Apr 2006
Posts: 353
Reputation: aniseed is an unknown quantity at this point 
Solved Threads: 6
aniseed's Avatar
aniseed aniseed is offline Offline
Posting Whiz

Re: Keeping versions of a record

 
0
  #3
May 13th, 2006
Timestamps are a good way to keep track for versions but I hate the way things could mess up with timestamps.
Reply With Quote Quick reply to this message  
Join Date: Oct 2005
Posts: 523
Reputation: pty is on a distinguished road 
Solved Threads: 37
pty's Avatar
pty pty is offline Offline
Posting Pro

Re: Keeping versions of a record

 
0
  #4
May 14th, 2006
Originally Posted by aniseed
Timestamps are a good way to keep track for versions but I hate the way things could mess up with timestamps.
how could things mess up with timestamps?

i dont actually use the timestamp for versioning more for auditing; its the version number that keeps track of the revision of the document
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:




Views: 1956 | Replies: 3
Thread Tools Search this Thread



Tag cloud for Database Design
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC