Re: Relations contain Objects

From: JRStern <JXSternChangeX2R_at_gte.net>
Date: Fri, 14 Jun 2002 14:13:24 GMT
Message-ID: <3d09f498.595906_at_news.verizon.net>


On Fri, 14 Jun 2002 01:36:10 -0400, "Bob Badour" <bbadour_at_golden.net> wrote:
>The relational algebra or equivalently the relational calculus has a sound
>mathematical basis allowing one to describe both integrity constraints,
>derived relations (views) and data manipulations.

I was after the terms "base relation" and "derived relations".

>> "Relational database" seems to include all of these, without quite
>> enough ceremony.
>
>Relation is a generic type. I don't know what's so difficult about that.

I never have liked generic types. Mixes syntax and semantics. Yeah, I know, most people think they're terribly clever.

>Tuples have no operations and visible internal structure. I suppose they are
>impure classes. Most people like classes to have behaviour and no visible
>internal structure, though.

So why isn't tuple a generic class on its own? Never mind, I'm just yanking your chain. But their structure doesn't have to be any more visible than any other classes, just because all of their behaviors are simple gets and sets.

>> I dunno that an n-ary type is a postulate, ... or, wait, maybe you're
>> onto something there. Would you like to say more about it? Do you
>> have any reference to a book that treats things that way?
>
>Any book on first order predicate logic.

That's swell, but when we talk database, are we talking predicate logic or set theory? Are we talking postulates or facts (axioms)? Don't heterogenous and typed entities take us outside of either basic mathematical model?

>> If you have an entity which is a relational variable, then I still
>> have an issue with whether its value is the tuples, or the
>> specification of those tuples, or both. I'm uncomfortable with
>> "both".
>
>It's value is its value. A value carries its type with it. For instance, the
>value 3 is an integer.

Not good enough. When the "value" is complex, you have a problem of by-value or by-reference (and in some contexts, by-name). Hey, didn't Smalltalk try to make even integers a reference relation (or still does, for all I know)? I don't know that, in general, a value carries a type. If I have an integer 3 and a real 3, are they the same type? Nope. Lots of issues hereabouts.

>> I don't think you want to have "instantiate" on two different sides of
>> the equivalence sign.
>
>Why not? It has different meanings depending on whether we are on the
>relational side or the object side.

Very Humpty-Dumpty.

>> Specifying a tuple would not seem to be the
>> same as inserting into a table. Would it?
>
>They are very different concepts with the same name, which is a point I
>wanted to illustrate. This exchange is cross-posted to comp.databases and
>comp.databases.theory as well as comp.databases.object and comp.object. When
>one uses a term like instance or instantiate in such an exchange, one has to
>take extra care for clarity.

I love it when someone tries to cover careless definitions by telling people what great care they're taking.

Joshua Stern Received on Fri Jun 14 2002 - 16:13:24 CEST

Original text of this message