Re: circular relationships ok?
From: Volker Hetzer <volker.hetzer_at_ieee.org>
Date: Thu, 02 Mar 2006 17:34:06 +0100
Message-ID: <du76pu$t5c$1_at_nntp.fujitsu-siemens.com>
>>> Volker Hetzer schrieb:
>>>> Hi!
>>>> Just in general, are circular relationships something that
>>>> can always be avoided?
>>>> Or, given a model with a circular relationship, possibly
>>>> spanning several tables, is there a way to get rid of them?
>>>
>>> One approach consists in using the concept-oriented data model as
>>> follows.
>>>
>>> 1. Order your tables so that if table A references records from table
>>> B, then A is positioned under B. For example, if an order has a field
>>> with its customer then you position them as follows:
>>>
>>> Customre
>>> |
>>> Order
>> So, what if A references B, B references C and C references A? Ok, I wasn't specific enough.
what if one row (a) of Table A references a bunch of rows in B, each row (b) in B references a bunch of rows in C and each row (c) in C references zero or one row a' in A?
Then a doesn't references itself, it references another row in the same table.
In that case it isn't referencing itself, just another object in the same table.
Date: Thu, 02 Mar 2006 17:34:06 +0100
Message-ID: <du76pu$t5c$1_at_nntp.fujitsu-siemens.com>
Alexandr Savinov schrieb:
> Volker Hetzer schrieb: >> Alexandr Savinov schrieb:
>>> Volker Hetzer schrieb:
>>>> Hi!
>>>> Just in general, are circular relationships something that
>>>> can always be avoided?
>>>> Or, given a model with a circular relationship, possibly
>>>> spanning several tables, is there a way to get rid of them?
>>>
>>> One approach consists in using the concept-oriented data model as
>>> follows.
>>>
>>> 1. Order your tables so that if table A references records from table
>>> B, then A is positioned under B. For example, if an order has a field
>>> with its customer then you position them as follows:
>>>
>>> Customre
>>> |
>>> Order
>> So, what if A references B, B references C and C references A? Ok, I wasn't specific enough.
what if one row (a) of Table A references a bunch of rows in B, each row (b) in B references a bunch of rows in C and each row (c) in C references zero or one row a' in A?
Then a doesn't references itself, it references another row in the same table.
> Now assume that you have a > cycle. This means that an element is a member of itself and it is > normally interpreted as a non-sense.
In that case it isn't referencing itself, just another object in the same table.
So, maybe it's not a circle but a spiral of an unknown number of turns.
Lots of Greetings!
Volker
Received on Thu Mar 02 2006 - 17:34:06 CET