| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: circular relationships ok?
Brian Selzer wrote:
>
> 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.
Actually, none of them are equivalent. Consider the following database instances: (formatted assuming fixed width font)
R : A B S : B C T : C A
This is an instance of the first schema, but not of the second. A similar example shows thre is an instance of the second schema that is not an instance of the first schema:
R : A B S : B C T : C A
Finally, it is clear that these two instances cannot be represented in the third schema since the join would lose tuples. So they are really all three different.
What *is* true is that the following schema:
Is equivalent with the schema:
So perhaps that is what you meant?
![]() |
![]() |