Re: dynamic object creation

From: Mark Volpe <volpe(dot)mark(at)epamail(dot)epa(dot)gov>
To: Indraneel Majumdar <indraneel(at)www(dot)cdfd(dot)org(dot)in>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: dynamic object creation
Date: 2000-10-12 14:22:12
Message-ID: 39E5C914.F764BA47@epamail.epa.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

You may want to think about creating your table like this (for example):

CREATE TABLE data
(
key text,
field_type char,
value text
);

CREATE UNIQUE INDEX data_key ON data(key, field_type, value);

So this way each "record" takes up several rows in the table, and each "field"
can take up as many rows as you need. A table like this, with two columns
being arrays:

key | field1 | field2
-------------------------
a | [x,y,z] | [a,d,f]
b | [m,n] | (NULL)

Can be represented like this instead:

key | field_type | value
-------------------------
a | 1 | x
a | 1 | y
a | 1 | z
a | 2 | a
a | 2 | d
a | 2 | f
b | 1 | m
b | 1 | n

I'm not sure what your data looks like, but I hope this helps.

Mark

Indraneel Majumdar wrote:
>
> Hi,
>
> I'm not sure if the subject line has been proper. I have this following
> problem which I hope PostgreSQL can handle.
>
> I'm converting a complex flatfile where records are arranged serially.
> some fields are as 'n' times repeating blocks of multiple lines. Some
> subfields within these are also 'n' time repeating blocks of multiple
> lines. So in my main table I do not know (until at run time) how many
> fields to create (same for any sub tables). How can I do this dynamically?
>
> I tried using arrays, but retrieval from that is causing some problems. I
> have already checked the array utilities in the contrib section and have
> extended the operator list for other types (I'll send the file to it's
> original author so that he may include it if he wishes).
>
> I think there must be some object-oriented way of doing this without
> creating too many keys. or are keys the only and best method? Using this
> is causing a performance hit. If it's any help, what I'm trying to convert
> are biological databases distributed in 'SRS' flatfile format from
> ftp.ebi.ac.uk/pub/databases/
>
> Thank you,
> Indraneel
>
> /************************************************************************.
> # Indraneel Majumdar ¡ E-mail: indraneel(at)123india(dot)com #
> # Bioinformatics Unit (EMBNET node), ¡ URL: http://scorpius.iwarp.com #
> # Centre for DNA Fingerprinting and Diagnostics, #
> # Hyderabad, India - 500076 #
> `************************************************************************/

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jean-Christophe Boggio 2000-10-12 14:56:53 Re: if else query help
Previous Message Brian C. Doyle 2000-10-12 14:14:57 if else query help