[Biojava-l] BioSQL observations
Matthew Pocock
matthew_pocock@yahoo.co.uk
Thu, 14 Mar 2002 13:24:43 +0000
Keith James wrote:
> On the schema itself, was there any discussion on being able to track
> changes to Features? I'm thinking of situations where the a number of
> people are applying annotation to a genome and want to know "when was
> this Feature last modified?"
If editing is needed, then you realy need to maintain version
information to allow rollbacks, resolution of clashes between different
edits, keeping views current and the rest. My first stab would be on the
unique key for features being an (ID,version) tuple where versions are
monotopicaly increasing integers, or a timestamp. (Do we need branching
ala CVS?) Things should link through tables by ID, but the fetch query
should usualy select id,max(version) - we would need nested queries to
do this efficiently. Alternatively, you could have each new feature
(including all features made by editing old features) have unique IDs,
and store the edit history in a seperate edits table (things like,
feature A was modified by user X to become feature B). Would these
aproaches kill performance? Is this another case where the data model
needs to be specified by something more loosely bound than object
models, adaptor code or table definitions? My brain is melting.
> Keith
>
Matthew