# Re: Declaring super types

From: Reinier Post <rp_at_raampje.lan>
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:
>> >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.

```--
Reinier

>
>
```
Received on Fri Apr 23 2010 - 00:26:14 CEST

Original text of this message