Re: table has many to many relationship with itself - how to implement? - Mailing list pgsql-general

From Jim C. Nasby
Subject Re: table has many to many relationship with itself - how to implement?
Date
Msg-id 20060614224928.GV34196@pervasive.com
Whole thread Raw
In response to table has many to many relationship with itself - how to implement?  ("Daniel McBrearty" <danielmcbrearty@gmail.com>)
List pgsql-general
On Wed, Jun 14, 2006 at 10:53:36AM +0200, Daniel McBrearty wrote:
> Hi all,
>
> I have a table "phrases" that looks like this :
>
> create table phrases(
> id serial ,
> language integer references langauges(id),
> content text
> );

Might want to avoid bareword 'id' as a field name... it's a great way to
lead to confusion.

> insert into table translations ... insert what?

INSERT INTO translations VALUES(default) should work. Worst case, you
could always just select from the appropriate sequence.

> The other way to do this that I see is to lose the link table
> translations_to_phrases, and then make translations
>
> create table translations (
> id serial primary key,
> phrases integer[]
> );
>
>
> but it seems that I can no longer make postgre aware that the integers
> in translations(phrases) are references.

BTW, it's "PostgreSQL" or "Postgres" if you must.

> What is the best solution?

I'd just have a sequence for translation_id and grab from it manually
every time you create a translation, then just use that value when you
insert into translation_phrase.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

pgsql-general by date:

Previous
From: "John D. Burger"
Date:
Subject: Re: DEFAULT_STATISTICS_TARGET
Next
From: John DeSoi
Date:
Subject: Re: tsearch2