# Re: Declaring super types

Date: 22 Apr 2010 22:26:14 GMT

Message-ID: <4bd0cd06$0$14118$703f8584_at_textnews.kpn.nl>

[I've removed some empty lines]

>On Apr 20, 3:03 pm, r..._at_raampje.lan (Reinier Post) wrote:

*>> Vadim Tropashko wrote:
**>> >Are you saying
**>> >"R is a S"
**>> >is eqivalent to
**>> >"R join S = R"?
**>>
**>> Hmmm ... that seems a nice shorthand for the first and third clause,
**>> but it doesn't imply the second one.
**>
**>Well, let's approach this question from math perspective. I suggest
**>the "is a" is some [partial] order between a pair of relations, so it
**>has to honor 3 laws:
**>
**>R < R
**>R < S & S < R -> R = S
**>R < S & S < T -> R < T
**>
**>One can prove that the order defined via join satisfies all them.
*

Certainly. But these properties don't uniquely determine the order. I haven't checked it, but I bet the definition obtained by adding the second clause satisfies them as well.

[...]

>However, there is the strong reason to suspect that the order defined

*>by join is the most important one (and, therefore, is candidate to
**>represent "is a"). This is because the order introduced via
**>generalized union (or relational algebra projection) coinsides it!
*

Not strong enough. Without the second clause, you're talking about aggregation, or in Silberschatz et al.'s terms, a weak entity: an entity (the "whole") being used to identify another (the "part"). The "is a" relationship is more restricted in that the "whole"-"part" relationship is one-to-at-most-one.

>So, you are suggesting that your definition gives rize to yet another

*>order relation? Can you prove its three defining properties?
*

I gave the three defining properties.

I'm not sure why you're asking for an alternative.

-- ReinierReceived on Fri Apr 23 2010 - 00:26:14 CEST

>>