RE: Re: Are circular REFERENCES possible ?

From: "Michael Ansley (UK)" <Michael(dot)Ansley(at)intec-telecom-systems(dot)com>
To: "'William Courtier'" <wcourtier(at)travelprice(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: RE: Re: Are circular REFERENCES possible ?
Date: 2001-08-14 13:16:54
Message-ID: 7F124BC48D56D411812500D0B747251480F66F@fileserver002.intecsystems.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The easiest way out is probably to create a relationship entity
called 'default' between customer and shop for the default
relationship. This way you only have to have one direct
relationship, because the other is expressed through the 'default'
table.

Just a thought...

MikeA

>> -----Original Message-----
>> From: William Courtier [mailto:wcourtier(at)travelprice(dot)com]
>> Sent: 07 August 2001 11:10
>> To: pgsql-sql(at)postgresql(dot)org
>> Subject: [SQL] Re: Are circular REFERENCES possible ?
>>
>>
>> I denis,
>>
>> I don't know if you can use a circular REFERENCES, but why
>> you try made a
>> references before the table is created (customers). You
>> should create the
>> references after and use the foreign key if circular
>> references does not
>> work.
>>
>> William
>> "Denis Bucher" <dbucher(at)niftycom(dot)com> a écrit dans le message
>> news: 5(dot)1(dot)0(dot)14(dot)0(dot)20010807114609(dot)00a18490(at)mail(dot)niftycom(dot)com(dot)(dot)(dot)
>> >
>> > Hello !
>> >
>> > I have a case where I wanted to do circular REFERENCES, is this
>> > impossible ?
>> >
>> > Just an example where it would be useful :
>> >
>> > We deliver to the *shops* of our *customers*.
>> > We have therefore two tables :
>> > - customers (enterprise, financial information, and so on...)
>> > - shop (with a name, street, phone number, name of manager)
>> >
>> > Now, each shop REFERENCES a customer so that we know
>> > to which customer belongs a shop.
>> >
>> > AND, each customer has a DEFAULT shop for deliveries, i.e. most
>> > customers only have one shop, or a main shop and many small
>> > ones. Therefore a customer should REFERENCES the 'main' or
>> 'default' shop.
>> >
>> > Which leads to :
>> >
>> > CREATE TABLE shops ( id_shop SERIAL PRIMARY KEY, id_cust integer
>> REFERENCES
>> > customers, .......)
>> > CREATE TABLE customers ( id_cust SERIAL PRIMARY KEY,
>> > id_defaultshop
>> integer
>> > REFERENCES shops, .......)
>> >
>> > But this doesn't work ! Postgres complains like "ERROR:
>> > Relation 'customers' does not exist"
>> > when creating 'shops'.
>> >
>> > Someone told me I should create a third table, ok, but in
>> this case I
>> loose
>> > the total
>> > control about my logic... Do you have a suggestion ?
>> >
>> > Thanks a lot in advance !
>> >
>> > Denis
>> >
>> >
>> > ---------------------------(end of
>> broadcast)---------------------------
>> > TIP 1: subscribe and unsubscribe commands go to
>> majordomo(at)postgresql(dot)org
>>
>>
>>
>> ---------------------------(end of
>> broadcast)---------------------------
>> TIP 2: you can get off all lists at once with the unregister
>> command
>> (send "unregister YourEmailAddressHere" to
>> majordomo(at)postgresql(dot)org)
>>

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.3 for non-commercial use <http://www.pgp.com>

iQA/AwUBO3kkqnympNV/C086EQKcWgCfd1Z2Hbi/g7Rj633Myj67HxkjgvkAn1n+
hXvHqca0bqE73XY4tmjDq/7v
=2nf2
-----END PGP SIGNATURE-----

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jeff Eckermann 2001-08-14 13:40:41 Re: create function using language SQL
Previous Message postgresql 2001-08-14 13:15:53 problem connecting to pg.