Re: Storing number '001' ?

From: "Josh Berkus" <josh(at)agliodbs(dot)com>
To: Charles Hauser <chauser(at)acpub(dot)duke(dot)edu>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Storing number '001' ?
Date: 2001-12-11 16:37:17
Message-ID: web-525481@davinci.ethosmedia.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Chuck,

> Thanks. I will look into the books, any specific recomendation? I
> am learning on the fly as they say. I am a molecular biologist who
> now needs to learn Perl and DBA related....

Bleah! Next they'll be asking me to learn molecular biology.
As for books, I'm responsible for the book page at
http://techdocs.postgresql.org/bokreviews.php . Anything I recommend
is already there. You might want to start (and end) with Database
Design for Mere Mortals, which is like a "for Dummies(tm)" book, but
with accurate information.

Since you're at a university, in theory you could get a CS student to
help you as a work-study project. However, I have yet to meet the CS
major who was a good DBA; a real understanding of database integrity and
design seems to only come from real-world experience. So you may be
better off doing the DBA stuff yourself. What about getting a CS
student to help with the Perl and HTML, though?

> If interested, my working version of the database is at:
<address snipped in case you didn't want to post it to the world>
>
> If you enter a term such as 'kinase', you will find all examples of
> such in the DB and click through the various links for more detail.

Cool! I have a friend at Berkeley MCB. Can I show this to him?

> Close, Perl. Most of the genomics work is written in Perl, because it
> is quite powerful when it come to handling text (GCACTAGCAGGCGA, DNA
> sequence).

Yeah, I'd agree there. It's hard to beat Perl for text parsing. Also,
when you get more advanced, Perl::DBI supports full middleware
functionality. Perl's got a steep learning curve, though.

> I wholeheartedly agree that doing joins w/6 columns is unmanageable.
> I had thought about using a SERIAL column in each TABLE, but did not
> see how to use them in joins. My understanding is that the number
> generated is specific for each table row. So, if I want to join 2
> tables(clone_fasta and clone_qual) and find the 'seq' and 'qual'
> values for clone '894001A01.x1', how can one use the SERIAL clone_id
> in the join?
>
> >
> >> CREATE TABLE clone_fasta(
> >clone_id SERIAL NOT NULL, 'xxx'
> >> project INTEGER NOT NULL, 894
> > > plate INTEGER NOT NULL, 1
> > > p_row CHAR(1) NOT NULL, A
> > > p_column INTEGER NOT NULL, 1
> > > read CHAR(1) NOT NULL, x
> >> ver INTEGER NOT NULL, 1
> >> length INTEGER NOT NULL, 373
> >> seq TEXT NOT NULL, GAGCTAGXCAGGATC...
> >> PRIMARY KEY (project,plate,p_row,p_column,read,ver),
> >CONSTRAINT clone_id_cs UNIQUE (clone_id)
> > > );
>
> >
> > > CREATE TABLE clone_qual(
> >clone_id SERIAL NOT NULL, 'yyy'
> >> project INTEGER NOT NULL, 894
> > > plate INTEGER NOT NULL, 1
> > > p_row CHAR(1) NOT NULL, A
> > > p_column INTEGER NOT NULL, 1
> > > read CHAR(1) NOT NULL, x
> > > ver INTEGER NOT NULL, 1
> > > qual INTEGER[] NOT NULL, {10,1,12,...}
> > > PRIMARY KEY (project,plate,p_row,p_column,read,ver),
> >CONSTRAINT clone_id_cs UNIQUE (clone_id)
> > > );
>
>
> SELECT clone_fasta.seq,clone_qual.qual
> WHERE clone_fasta.clone_id = clone_qual.clone_id <-- These are
> never the same, correct?
> AND .....?

Ah! I understand the confusion. Before I try to sort this one out, can
you explain to me the relationship between the four tables? What kind
of information is stored in clone-fasta? What kind of data is stored in
clone_qual, and what is the relationship between the two tables? What
about the other tables?

And I'll want to post our whole interaction to the pgsql-novice list as
education for the masses. With your permission, I might compile our
e-mails as a lesson for techdocs.

-Josh

______AGLIO DATABASE SOLUTIONS___________________________
Josh Berkus
Complete information technology josh(at)agliodbs(dot)com
and data management solutions (415) 565-7293
for law firms, small businesses fax 621-2533
and non-profit organizations. San Francisco

Browse pgsql-novice by date

  From Date Subject
Next Message Josh Berkus 2001-12-11 16:45:59 Re: Multiple IN
Previous Message Bruno Wolff III 2001-12-11 16:30:57 Re: Multiple IN