944,155 Members | Top Members by Rank

Ad:
Mar 24th, 2006
0

Keeping versions of a record

Expand Post »
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.
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
djfriendly is offline Offline
1 posts
since Mar 2006
May 11th, 2006
0

Re: Keeping versions of a record

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
pty
Reputation Points: 64
Solved Threads: 39
Posting Pro
pty is offline Offline
530 posts
since Oct 2005
May 13th, 2006
0

Re: Keeping versions of a record

Timestamps are a good way to keep track for versions but I hate the way things could mess up with timestamps.
Reputation Points: 48
Solved Threads: 7
Posting Whiz
aniseed is offline Offline
353 posts
since Apr 2006
May 14th, 2006
0

Re: Keeping versions of a record

Quote 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
pty
Reputation Points: 64
Solved Threads: 39
Posting Pro
pty is offline Offline
530 posts
since Oct 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Database Design Forum Timeline: Relationship between Asset, Mac Address and IP address
Next Thread in Database Design Forum Timeline: Dream Team Website & Database





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC