Re: circular relationships ok?

From: Brian Selzer <brian_at_selzer-software.com>
Date: Sun, 05 Mar 2006 00:37:57 GMT
Message-ID: <FpqOf.56362$dW3.53665_at_newssvr21.news.prodigy.com>


If I follow your notation,

forall b (b in Br --> b in Bs) is true and forall b (b in Bs --> b in Br) is also true, and must be because of the circular foreign key relationship.

In other words, a database schema consisting of the relation schemata,

R{A, B}, S{B, C}, and T{C, A}

and the foreign key constraints,

R(B) --> S(B), S(C) --> T(C), T(A) --> R(A)

is equivalent to a database schema consisting of the same relation schemata and the foreign key constraints,

R(A) --> T(A), T(C) --> S(C), S(B) --> R(B)

is equivalent to a database schema consisting of the relation schema

U(A, B, C) where A, B, and C are candidate keys.

"vc" <boston103_at_hotmail.com> wrote in message news:1141515292.647886.104800_at_z34g2000cwc.googlegroups.com...
>
> Brian Selzer wrote:
> [...]
>>the existence of a tuple in R requires that exactly one tuple exists in S
>
> ... but it does not mean at all that set Br is the same as set Bs, so
> what is the biconditional 'iff' doing here ? Or if you are into fancy
> notation, it is true that
>
> forall b (b in Br --> b in Bs)
>
> but not necessarily true that
>
> forall b1 forall b2 (b1 in Br <--> b2 in Bs)
>
> unless you stipulate so.
>
Received on Sun Mar 05 2006 - 01:37:57 CET

Original text of this message