Re: Conflicts in Relationships
Date: Fri, 19 Sep 2003 00:00:14 -0400
Message-ID: <3389007.1063944014_at_dbforums.com>
Originally posted by Jan Hidders
>
> It's not very simple, but also not very complicated. Just think of
> the join
> as a graph: nodes are the relations, edges are join conditions.
> You start
> from the node/relation that has to be fully in the result. If
> there is a
> simple path (no cycles) that starts in this node and ends with
> the edge
> (R1,R2) then the join between R1 and R2 should be an outer join on
> the side
> of R1.
>
> -- Jan Hidders
Awesome. I'm just on the verge of comprehending :) I was thinking nodes are tables but no, they're relations. That makes more sense. I found some algorithms for processing graphs but not for applying them to this situation.
So in my above example I'd have 3 nodes...A is related to B, B is related to C, and C is related to A and 3 edges. That would be a cycle (#edges > (#nodes-1)), is that right? I assume verifying a cycle would be harder than verfying the simple path you describe above. Do you know of any documentation that describes this further? Thanks again!
-- Posted via http://dbforums.comReceived on Fri Sep 19 2003 - 06:00:14 CEST