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

Susan Alberts babase@www.eco.princeton.edu
Thu, 7 Oct 2004 18:01:17 +0300


My response is below in the stream...

>>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?


As I see it the problem is that even though the values have similar 
names, they really have totally different functions in the database. 
In other words, there are no dates to put status flags on for most 
males. It would seem highly artifical to assign a rankdate to a male 
that immigrates into a study group at the advanced age of 14, for 
instance. It makes me uncomfortable to equate the two values. Also, 
it's not that we DO want to use some values and DONT want to use 
others, it is that they serve different functions.

However, I can see that it would work, it would just require 
different thinking and often database work does require a stretch.

What do other people think?

>
>>
>>>>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
>_______________________________________________
>Babase mailing list
>Babase@www.eco.princeton.edu
>http://www.eco.princeton.edu/mailman/listinfo/babase


-- 
--------------------------------------------------------------------------------------------------------------------------------------
Susan Alberts, Department of Biology, Duke University, Box 90338, 
Durham NC 27708
919-660-7272 (phone), 919-660-7293 (FAX)