Re: another simple data modelling question

From: Heinz Huber <hhuber_at_racon-linz.at>
Date: Sat, 21 Jul 2001 23:24:34 GMT
Message-ID: <3B08BE05.1E06CDC1_at_racon-linz.at>


Larry Coon wrote:
>
> crappy wrote:
>
> > thanks for your reply. i understand what you're saying. but i think my post
> > was confusing now that i read it again.
> >
> > the characteristic_personality junction lists what characteristics make sense
> > for which personalities. the reason for the person_characteristic junction is
> > to list what characteristics a person *actually* has. i don't necessarily want
> > to say that a person of such-and-such personality automatically has *all* the
> > characteristics that make sense for that personality type.
>

 [snipped]
>
> This is off the top of my head, and there's probably a million
> reasons why this is a bad idea, but I'm not willing to spend
> the time to think it through, so someone else can critique it.
>
> You have a table personality-characteristic, which identifies
> the valid characteristics for a given personality.
>
> You have a table person-personality-characteristic, which
> represents the ternary relationship between the three entities.
> For example, ("Joe","Introvert","Quiet") is a valid tuple here.
> The personality & characteristic are a composite foreign key to
> the personality-characteristic table, which ensures that Joe
> has a personality & characteristic combination which is valid.
>
> So one table represents the set of combinations which are valid.
> The other table represents the combinations that a given person
> actually has. No redundancy. No triggers.
>
> I'd also be curious whether both personality and characteristic
> are really entities, as opposed to one just being an attribute.
> But since you said the real problem is in an entirely different
> subject matter, the point is probably moot.

I think (and from an answer of crappy to an equivalent proposal he does too) that this might not be completely normalized, since you either need the personality in the person table or you have to ensure that a person is only related to one personality in the person-personality-characteristic table.

Regards,
Heinz Received on Sun Jul 22 2001 - 01:24:34 CEST

Original text of this message