Welcome to dbFreaks.com!
FAQFAQ    SearchSearch      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Data versioning for database entity?

 
   Database Help (Home) -> General Discussion RSS
Next:  Problem in search when value contents single quot..  
Author Message
davout

External


Since: Aug 31, 2008
Posts: 1



(Msg. 1) Posted: Sun Aug 31, 2008 5:18 am
Post subject: Data versioning for database entity?
Archived from groups: comp>databases (more info?)

I'm looking for some help on how to design a schema that covers data
versioning on a database entity.

For example: there is a requirement for a database to store details of
a company's products for all staff to view. The 'product' entity
comprises of a main product table and multiple subordinate data tables
that hold various properties and sub properties of a product's
profile. In otherwords there are multiple linked tables that in total
hold all of the data associated with a product.

This product information has to move through a authoring, submit,
review and approve cycle. Eventualy when the product info is approved
it is available for all users to see.

The product information authors can subsequently post updates/
revisions to the original product data. Yet whilst the updates are
being submitted and approved the original product data has to be
available for all users to view. Hence, the database schema must be
able to simultaneously store the original product info as well as the
updated info which is going thru the authoring, submit and approve
cycle. Eventually when the revisions are approved the original data is
replaced with the revised data, so that all users now only see the
revised data.

In thinking of hiow to design a scheme to address this requirement I
am split between using...
* Separate tables to hold the public approved data and the yet to be
approved revision data; or
* Having all the data in a single table with a sub key to identify
public versus private

Thoughts?

 >> Stay informed about: Data versioning for database entity? 
Back to top
Login to vote
Robert Klemme

External


Since: Dec 20, 2007
Posts: 184



(Msg. 2) Posted: Mon Sep 01, 2008 7:05 pm
Post subject: Re: Data versioning for database entity? [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 31.08.2008 14:18, davout wrote:
> I'm looking for some help on how to design a schema that covers data
> versioning on a database entity.
>
> For example: there is a requirement for a database to store details of
> a company's products for all staff to view. The 'product' entity
> comprises of a main product table and multiple subordinate data tables
> that hold various properties and sub properties of a product's
> profile. In otherwords there are multiple linked tables that in total
> hold all of the data associated with a product.
>
> This product information has to move through a authoring, submit,
> review and approve cycle. Eventualy when the product info is approved
> it is available for all users to see.
>
> The product information authors can subsequently post updates/
> revisions to the original product data. Yet whilst the updates are
> being submitted and approved the original product data has to be
> available for all users to view. Hence, the database schema must be
> able to simultaneously store the original product info as well as the
> updated info which is going thru the authoring, submit and approve
> cycle. Eventually when the revisions are approved the original data is
> replaced with the revised data, so that all users now only see the
> revised data.
>
> In thinking of hiow to design a scheme to address this requirement I
> am split between using...
> * Separate tables to hold the public approved data and the yet to be
> approved revision data; or
> * Having all the data in a single table with a sub key to identify
> public versus private
>
> Thoughts?

Both are viable options. You can even make user's life simpler with
option two by defining a set of views that always present the current
valid set of data only.

It probably depends on other factors which solution you pick. For
example, if you have a lot of versions you will end up with tables with
only a small amount of current data vs. a large chunk of historic and
future (unapproved) data. In that case it might be more efficient to
separate them table wise. On the other hand, this will make version
updates more complex as you have to copy data between multiple tables
probably also honoring foreign key constraints.

By separating current and historic data into separate tables (or maybe
even partitions of a table) you might be able to exert more control over
how data is accessed by reserving IO bandwidth to the current data.

I am sure there are a lot more things to ponder...

It is quite likely that there are products around that do exactly what
you need. For example, if you want to set up a web site with product
data then I am pretty sure you'll find a content management system that
will fit your needs. Approval processes, publishing dates and
permissions should be concepts found in a lot of those systems.

Kind regards

robert

 >> Stay informed about: Data versioning for database entity? 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
Migrates data between various database formats - ESF Database Convert is a wizard-like database tool that helps you to easily convert between various database formats. It can directly convert from/to Oracle, MySQL, SQL Server, PostgreSQL, Access, Excel, Visual Foxpro, FireBird, Paradox and other..

Historical Reporting with Volatile data - I've got a customer who wants reproducible/historical reporting. The problem is that the underlying data changes. I tried to explain that this can't be done (can it?), but he doesn't understand. To illustrate the situation - Let's say a teacher wants....

Returning data from a function to a select - How do you return data from a function which can then be used in a SELECT? Here's a simplified version of what I'm trying to do. Basically, I'm trying to select all employees which belong to group 10, *or* to any subgroup of group 10. SELECT..

Can I INSERT into a table when the data is longer than fie.. - Is there a way to insert a data into a table when the data string is longer than the defined field length? I am trying to avoid the insert errors one gets when the field is too short. As a specific example: If someone (an external user) has built a for...

CFP: Data Mining 2008 - new date - Apologies for cross-postings. Please send to interested colleagues and students -- CALL FOR PAPERS - Deadline for submissions (new date): 31 March 2008 -- IADIS EUROPEAN CONFERENCE ON DATA MINING 2008 Amsterdam, The Netherlands, 24 to 26 July 2008..
   Database Help (Home) -> General Discussion All times are: Pacific Time (US & Canada)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]