Gmail Calendar Documents Web Reader more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion Ternary Relationship cardinality
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
mikl...@gmail.com  
View profile  
 More options Sep 19 2006, 11:42 am
Newsgroups: comp.databases.theory
From: mikl...@gmail.com
Date: 19 Sep 2006 02:42:24 -0700
Local: Tues, Sep 19 2006 11:42 am
Subject: Re: Ternary Relationship cardinality
Hi Jan,

> The general rule is as follows: If you have a relationship R(a,b,c)
> then you have to ask for each role, say 'a', how its cardinality
> depends on the combination of the other two, in this case 'b' and 'c'.
> If the upperbound is 1 then you put 1 on the corresponding edge in the
> diagram, if there is no upperbound you put N or M there.

Thanks for the insight...

> Minor detail: if *every* child has two parents your database will
> either be infinite or some will be their own descendants.

Care to expand on this? Note that parents can come into existence by
purchase, however since Children are a specialization of 'parent', they
can also breed.

Thanks,

Mike

Jan Hidders wrote:
> mikl...@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.

> Minor detail: if *every* child has two parents your database will
> either be infinite or some will be their own descendants.

> > 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------------|

> The general rule is as follows: If you have a relationship R(a,b,c)
> then you have to ask for each role, say 'a', how its cardinality
> depends on the combination of the other two, in this case 'b' and 'c'.
> If the upperbound is 1 then you put 1 on the corresponding edge in the
> diagram, if there is no upperbound you put N or M there.

> 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


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2010 Google