Hi David,


Thanks for your help, but I want a relational-object solution. The solution
presented by Tom Lane (Thanks Tom!!!!) runs very well and it is a
relational-object implementation (I suggest put a similar example in
postgresql 8.3X documentation).



Cheers,

Robson.

On Sun, Apr 19, 2009 at 8:56 PM, David Fetter <da...@fetter.org> wrote:

> On Sun, Apr 19, 2009 at 06:03:26PM -0300, Robson Fidalgo wrote:
> > Hello,
> > I am using postgresql 8.3X and I created a table (see example below)
> > that has an attribute that is an Array of a Composite Type (ROW).
> > However, I do not know how can I insert a record in this table.
>
> You want a normalized table anyhow.  If you want something
> denormalized, use a view.
>
> > Example:
> >
> > CREATE table phone (
> >   cod varchar,
> >   num varchar);
> >
> > CREATE TABLE person (
> >   name varchar,
> >   telephone phone[]);
>
> This is better as:
>
> CREATE TABLE phone (
>    cod VARCHAR,
>    num VARCHAR,
>    PRIMARY KEY(cod, num)
> );
>
> CREATE TABLE person (
>    name varchar,
>    PRIMARY KEY(name)
> )
>
> CREATE TABLE person_phone (
>    name VARCHAR NOT NULL REFERENCES person(name),
>    cod VARCHAR,
>    num VARCHAR,
>    FOREIGN KEY(cod, num) REFERENCES phone(cod, num),
>    PRIMARY KEY(name, cod, num)
> );
>
> Cheers,
> David.
> --
> David Fetter <da...@fetter.org> http://fetter.org/
> Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
> Skype: davidfetter      XMPP: david.fet...@gmail.com
>
> Remember to vote!
> Consider donating to Postgres: http://www.postgresql.org/about/donate
>
> --
>  Sent via pgsql-docs mailing list (pgsql-d...@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-docs
>

Reply via email to