Hi Bruce.  I agree with everyone but would ask about the need for all 4
columns.  For example in my employee table I have two columns, a datehired
and a dateterminated.  Logically, every employee who has a non null
dateterminated is inactive, else they are active.

Bill

 On Thu, Jul 12, 2012 at 1:37 PM, Bruce Chitiea <[email protected]>wrote:

> Thanks all. Sounds like #1 is the clear choice as I don't need to keep
> multiple entries per unique ID.
>
> Indebted:
>
> Bruce
>
>  -------- Original Message --------
> Subject: [RBASE-L] - RE: Design Opinions Requested
> From: "Tony IJntema" <[email protected]>
> Date: Thu, July 12, 2012 12:57 pm
> To: [email protected] (RBASE-L Mailing List)
>
> Bruce,****
> ** **
> I prefer the first option.****
> It is closer to the normalized model and fits better in the relational
> model.****
> My experience is that these kind of solutions are more stable, more
> flexible and need less maintenance.****
> ** **
> Tony****
> ** **
> *From:* [email protected] [mailto:[email protected] <[email protected]>] *On
> Behalf Of *Bruce Chitiea
> *Sent:* donderdag 12 juli 2012 20:50
> *To:* RBASE-L Mailing List
> *Subject:* [RBASE-L] - Design Opinions Requested****
> ** **
> All:****
> ** **
> I need to track active vs. obsoleted status for a range of primary-key
> data objects, while keeping them all available for historical purposes.
> Fortunately, these don't change very often, if at all. I've thought of two
> approaches:****
> ** **
> 1. Append four columns to each table:****
> xactive ('x' prefix indicating binary flag [1|0]****
> begdate****
> enddate****
> flagdate****
> ** **
> or:****
> ** **
> 2. Maintain a record status table:****
> ** **
> RECORDSTATUS****
> -------------------****
> RecordStatusID <pk>****
> TableName - one of the tracked tables****
> RecordID <fk> - Primary-key value to be flagged****
> ReplacedRecordID <fk> - Value inactivated by RecordID****
> xActive ****
> BegDate****
> EndDate****
> FlagDate****
> ** **
> Record status would update infrequently, but would be read during each
> view creation involving a tracked object (...where recordstatus.xactive =
> 1). ****
> ** **
> Approach #2 appeals. But am I trading code-simplicity for performance? Or
> does the idea of a 'RecordStatus' table have legs? ****
> ** **
> 'Preciate your perspectives.****
> ** **
> Bruce****
> ** **
>
>


-- 
William Stacy, O.D.

Please visit my website by clicking on :

http://www.folsomeye.net

Reply via email to