Re: On formal HAS-A definition

From: Mr. Scott <do_not_reply_at_noone.com>
Date: Sat, 8 May 2010 13:47:46 -0400
Message-ID: <8e2dnUpBa9pfPnjWnZ2dnUVZ_qWdnZ2d_at_giganews.com>


"Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message news:4be59bfa$0$12451$9a566e8b_at_news.aliant.net...
> Mr. Scott wrote:
>
>> "Mr. Scott" <do_not_reply_at_noone.com> wrote in message
>> news:Atqdnbh1eNZ_YX7WnZ2dnUVZ_g-dnZ2d_at_giganews.com...
>>
>>>"Tegiri Nenashi" <tegirinenashi_at_gmail.com> wrote in message
>>>news:0b0623a8-7a8c-476b-8de2-78c31a36ab17_at_f17g2000pra.googlegroups.com...
>>>
>>>>Again, I didn't research literature, but here is my shot: the HAS-A is
>>>>an inclusion dependency. Example:
>>>>
>>>>Dept = [DeptNo DeptName]
>>>> 10 Accounting
>>>> 20 Research
>>>>;
>>>>
>>>>Emp = [DeptNo EmpName]
>>>> 10 King
>>>> 10 Smith
>>>>;
>>>>
>>>>Formally:
>>>>
>>>>Emp v (Dept ^ []) < Dept v (Emp ^ []).
>>>>
>>>>I suppose HAS-A shares many unconvenient properties with set
>>>>membership, for example, it is not transitive. Consider
>>>>
>>>>Accounts = [EmpName Institution]
>>>> Smith BoFA
>>>> Smith WellsFargo
>>>>;
>>>>
>>>>the it is not the case that "Dept HAS-A Accounts". Again, the naming
>>>>problem raises its ugly head: why would the first attributes be called
>>>>"EmpName" rather than "PersonName"?
>>>>
>>>>More important: is this correct formalization? Specifically, shouldn't
>>>>functional dependency
>>>>
>>>>Dept # DeptNo < Dept # DeptName
>>>>
>>>>be a part of HAS-A constraint definition?
>>>
>>>I don't think nontrivial functional dependencies have any bearing on
>>>whether or not there is a 'has-a' relationship; instead, it is the
>>>juxtaposition of attributes in a relation scheme under the convention
>>>that it is not just components that are significant but also tuples. If
>>>there is a mapping from tuples into the domain of discourse, then it
>>>follows that the components of a tuple map to parts of the whole that the
>>>tuple maps to.
>>
>> One could argue that a trivial functional dependency from the superkey
>> that consists of the entire heading of a relation to any proper subset of
>> the heading specifies a 'has-a' relationship.
>>
>> I should also point out that because 'has-a' relationships are in essence
>> part-whole relationships, that they are transitive. For example, cars
>> have tires; tires have rims; therefore, cars have rims.
>
> Except that not all cars have tires--some are on blocks. We could just as
> legitimately say that all tires have cars.

Without tires, there is no car, but it is not necessary for a car's tires to be physically attached for them to be part of the car. Received on Sat May 08 2010 - 19:47:46 CEST

Original text of this message