Re: On formal HAS-A definition

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 08 May 2010 14:14:33 -0300
Message-ID: <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. Received on Sat May 08 2010 - 19:14:33 CEST

Original text of this message