Re: Ternary Relationship cardinality
Date: 19 Sep 2006 01:41:29 -0700
Message-ID: <1158655289.492999.196590_at_m73g2000cwd.googlegroups.com>
miklesw_at_gmail.com wrote:
> I know what cardinality is... and I know how to implement it
>
> My problem is with the notation for a particular Ternary relationship.
>
> (Supertype) [Parent]------[0..*]----- <Breeding>
> ----[1..1]--------[Child](subtype)
> |-------------[0..*]------------|
Your ASCII art is a bit unclear so let me tell you how I interpret
this:
- You have a relationship Breeding(Parent1, Parent2, Child)
Your depicted cardinality constraints are as follows:
- Each Child participates in exactly one instance of that relationship.
- Each Parent participates in zero or more instances of that relationship.
> The prob is when I use the N:1 notation..my first reaction would be to
> do something like this:
>
> (Supertype) [Parent]------1-----
> <Breeding>-----M-------[Child](subtype)
> |-------------1------------|
So let's look at Child. Given two particular parents what is the upper bound on the number of children. There is no upperbound so the edge Breeding--Child is annotated with N. Let's look at Parent1. Given Parent2 and a child is there un upper bound on the number of associted Parent1's? Yes, there can be at most one, (in fact, this is already the case just for Child) so we annotate the edge Breeding--Parent(1) with 1.
Clear?
- Jan Hidders