I think that both approaches have pros and cons and so the decission 
must be taken depending on the bussiness rules.

In favor of the "two tables" approach may be the case of a UNIQUE 
constraint limited to current records: There can't be two current 
records with the same value in a column, but the same value is allowed 
if one is current and the other is historic or if both are historic.

In favor of the "all in one table" approach may be the case of a UNIQUE 
constraint encompassing both kind of records: There can't be two records 
with the same value in a column, regardless if their status (current or 
historic).

Aldo Caruso


El 31/07/13 17:56, un_spoken escribió:
>
>
>
> --- In firebird-support@yahoogroups.com 
> <mailto:firebird-support%40yahoogroups.com>, Aldo Caruso 
> <aldo.caruso@...> wrote:
> >
> > Lester,
> >
> > Thanks for your advice. I'll take it into account, because also I
> > think that having two tables is a duplication of work ( not only for
> > moving records between them but also for maintaining DDL changes
> > synchronized )
> >
> > Aldo Caruso
> >
>
> I've been working with both approaches (history in the same table as 
> regular data and in a separate table). Currently in my company we are 
> in process of transition from "history in one table" approach. It gets 
> ugly.. especially if you need to have an UNIQUE index on some columns. 
> It's also requires from you to remember that in almost each query you 
> want to show only the current data.
>
> DDL changes which you are afraid of are not that scary if you have 
> written automated tests. Our tests are checking if everytings is 
> copied correctly to the history data. So for example if we add a 
> column in the main table or modify its size and forgot to mirror those 
> changes in history table, our tests will tell us that right away. 
> Copying is done by the trigger and if you think good on your design 
> you can write one test which will be able to check all your tables and 
> history triggers.
>
> Regards.
>
> 



[Non-text portions of this message have been removed]

Reply via email to