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-----
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. |