[BioSQL-l] Tables without a (composite) primary key
Raoul Jean Pierre Bonnal
raoul.bonnal at itb.cnr.it
Thu Nov 6 12:23:43 UTC 2008
Dear Peter,
I'm writing the wrapper for BioRuby using DataMapper an ORM (Active Record is
similar).
I think we can cosider to move or branch BioSQL' schema to the approach
suggested by this kind of ORMs, with a pk for every table named "id" and a
table name in plural. Fk names are quite correct.
PS: DataMapper handles very well composite PK, much better tha ActiveRecord.
Il giovedì 06 novembre 2008 12:53:13 Peter ha scritto:
> I've recently been looking into some object-relational mappers which
> caused me to look more closely at the BioSQL schema. Many of these
> packages require a primary key, but not all can cope with a composite
> primary key. However, some BioSQL tables don't have any primary key
> at all.
>
> Several BioSQL tables have composite primary keys, for example the
> term_dbxref table has a composite key of (term_id, dbxref_id), and
> also an index on dbxref_id as well.
>
> However, some BioSQL tables do not have a primary key, for example:
>
> -- corresponds to the names table of the NCBI taxonomy databaase
> CREATE TABLE taxon_name (
> taxon_id INT(10) UNSIGNED NOT NULL,
> name VARCHAR(255) BINARY NOT NULL,
> name_class VARCHAR(32) BINARY NOT NULL,
> UNIQUE (taxon_id,name,name_class)
> ) TYPE=INNODB;
>
> CREATE INDEX taxnametaxonid ON taxon_name(taxon_id);
> CREATE INDEX taxnamename ON taxon_name(name);
>
> Why don't taxon_name, bioentry_path, term_relationship,
> bioentry_qualifier_value, seqfeature_path have a primary key (just a
> uniqueness criteria)?
>
> Thanks,
>
> Peter
> _______________________________________________
> BioSQL-l mailing list
> BioSQL-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biosql-l
More information about the BioSQL-l
mailing list