Re: Something new for the New Year (2008).

From: Rob <rmpsfdbs_at_gmail.com>
Date: Sat, 12 Jan 2008 12:01:16 -0800 (PST)
Message-ID: <6beaa498-3d50-4b23-8a99-dd4d0462de0f_at_j20g2000hsi.googlegroups.com>


On Jan 10, 11:14 am, Gene Wirchenko <ge..._at_ocis.net> wrote:
>Rob <rmpsf..._at_gmail.com> wrote:
>
>>1. Statement of Facts, Example 1:
>>2 sets if propositions (i.e., 2 tables: Adult, Child)
>>------------
>>Al is a male adult, age 45 => (adultname:A,sex:male,age:45)
>>Bob is a male child, age 15 => (childname:Bob,sex:male,age:15)
>>Carol is a female child, age 13 => (childname:Carol,sex:female,age:
>>13)
>>Dee is a female child, age 8 => (childname:Dee,sex:female,age:8)
>>what I referred to as JT's:
>>----
>>Al is father of Bob => (father:Al,child:Bob)
>>Al is father of Carol => (father:Al,child:Carol)
>>Al is father of Dee => (father:Al,child:Dee)
>>2. Now, although Al is father of Bob, Carol and Dee, only Bob and
>> Carol are siblings. Dee is a child of a 2nd marriage. We want
>> to capture the fact that Bob and Carol are siblings, but Bob
>> and Dee (and Carol and Dee) are half-siblings. So, instead of
>> the JT (i don't know what you call it), I propose the following
>> Aggregate and Link:
>>Aggregate:
>>--
>>Al is the father in family unit 1 => (familyunit:1,familyfather:Al)
>>Al is the father in family unit 2 => (familyunit:2,familyfather:Al)
>
>Not workable. They can all be the same family unit. What you
>are missing is maternity. Add Susan and Vicki who are Al's first and
>second wives and, more importantly, the mothers. You can then express
>that Bob and Carol are siblings (because they have the same father and
>the same mother) and that Carol and Dee are half-siblings (because
>they only have one parent in common).
>Since motherhood has been brought into the picture, maybe add a
>predicate for "likes apple pie". <BEG with ice cream>
>Sincerely,
>Gene Wirchenko
>
I don't know what you mean by "unworkable". Does that mean it is not well-formed, or just that you have a different model?

According to Codd, a data model must have generalized integrity rules. Tell me if my "aggregates" and "links" above violate the rules of your data model.

Here's another stab that introduces mothers (though I know nothing more than their names, hence no propositions about these mothers):

Propositions (2 sets, 2 relations, Adult and Child)



Al is a male adult, age 45 => (adultname:Al,sex:male,age:45)

Bob is a male child, age 15 => (childname:Bob,sex:male,age:15) Carol is a female child, age 13 => (childname:Carol,sex:female,age: 13)
Dee is a female child, age 8 => (childname:Dee,sex:female,age:8)

Aggregate:



In one marriage, Susan is the mother, Al is the father => (mother:Susan,father:Al)
In another marriage, Vicki is the mother, Al is the father => (mother:Vicki,father:Al)

Link:


Bob's mother is Susan		=> (child:Bob,mother:Susan)
Carol's mother is Susan		=> (child:Carol,mother:Susan)
Dee's mother is Vicki		=> (child:Dee,mother:Vicki)

I'm not arguing that this is the best database design. JOG said: "Your AL structure corresponds to no statement of fact that I can think of." I'm trying to address his claim.

Rob Received on Sat Jan 12 2008 - 21:01:16 CET

Original text of this message