New biograph maturity date columns Was: Re: [Babase] CADET

Karl O. Pinc babase@www.eco.princeton.edu
Thu, 7 Oct 2004 08:16:58 -0500


On 2004.10.06 22:26 Susan Alberts wrote:
> I may be behind things so forgive me and correct me if I've forgotten 
> something we already did or have misunderstood.

You and I had a discussion but I didn't write it down and have
forgotten.

> 
> My understanding was that the rankdate and maturedate in the new 
> tables would exist only for animals for whom we actually know the 
> date they matured or became ranked.
> 
> There is a large set of males for whom these dates are missing 
> because, when we first met them (when they first immigrated into 
> study groups) they were already adult. Hence, they have no maturedate 
> or rankdate (the markers of subadulthood and adulthood, respectively, 
> for males) even if they have already achieved one or both of these 
> markers.
> 
> One things that we often need to ask babase is "find all the adult 
> males in group x on this date". As it is currently constructed, this 
> is very difficult to do because there is no marker of adulthood 
> encoded in babase except matdate and rankdate, which are missing for 
> many males.  "Mature by" and "Ranked by" dates would provide this.
> 
> For males for whom we already have matured dates and ranked dates, 
> these columns would be redundant. However, this is a relatively small 
> fraction of all the males in the database.  I envisionsed using the 
> rankdate and maturedate when analyzing/asking questions about the age 
> at which these events happened, and using "ranked by and matured by" 
> to differentiate adult and subadult from juvenile males for any 
> particular time period.

Rather than having two columns with the same information, at least
some of the time, my inclination would be to have a status flag that
indicates whether the date should be used in analysis, or rather
what sort of analysis the date is suitable for.  The traditional
problem is keeping duplicate data in sync.  We can use triggers
to enforce this (probably) but I'm still dis-inclined as the
practice goes against the way relational databases are supposed
to be used.  It could be something of a forced fit, both from
the tech side and when it comes to using the data.

On the other hand, we can do it.  What advantages do you see
to having another date field vs a status flag for each date?

> 
>>> The other thing that I think we need to add for males is "ranked 
>>> by" and "matured by" (and perhaps dispersed by, although the first 
>>> two are by far the most important) columns or a new table. This is 
>>> because when a male enters the study population already as an adult 
>>> he never gets a matured or ranked date, creating the contradictory 
>>> situation that a male who appears to have never matured is 
>>> functioning as an adult male. This has been a constant source of 
>>> confusion that we've had to work around.
>> 
>> How would the new "ranked by" and "matured by" be different from
>> the current rankdate and maturedate?

Karl <kop@meme.com>
Free Software:  "You don't pay back, you pay forward."
                  -- Robert A. Heinlein