Re: The Practical Benefits of the Relational Model

From: Nathan Allan <nathan_at_alphora.com>
Date: 26 Sep 2002 11:14:15 -0700
Message-ID: <fedf3d42.0209261014.3590717c_at_posting.google.com>


"Costin Cozianu" <c_cozianu_at_hotmail.com> wrote in message news:<amuafe$92ikr$1_at_ID-152540.news.dfncis.de>...

> I'm surprised that you let Mr. Date reply when the message was in reply to
> your slighting remarks with regards to the "OO pooh", to which your product
> based on Date & Darwen proposal is supposed to find all the cures.

Yes, perhaps I should have replied. I felt, however, that because your comments were mostly directed toward his work, that he should be given the chance to defend his work.

[snip] "...'OO pooh', to which your product based on Date & Darwen proposal is supposed to find all the cures."

  1. Our product is a different matter. It does not yet completely implement their type inheritance model.
  2. I never said that their type inheritance model "[finds] all the cures." My experience in working with OOP languages has convinced me that there are problems with the concepts, and their model seems to provide solutions to at least a few of those problems. [water down, understate ;-]

> I took notice of Mr. Date's reply, and I'll choose to reply to him in
> private to the more important issues, because I see no fun in corresponding
> with Mr. Date through intermediaries.

This is a public forum, and his reply was directed at you, so I fail to see your concern about intermediaries (he doesn't have newsgroup access so I posted it for him). But nobody likes a snitch, right?!

> But since you are the one who claimed in this thread that OO has pretty much
> all the bad qualities and the relational model (or to say more accurately:
> the proposal of Date & Darwen for "future directions of data and database
> management systems") comes and cure them all, including the "type
> inheritance" , I'll ask you if you did your homework and read the references
> I gave you.

No, I have not done my homework in this regard, nor do I have time to do so right now (I hate giving that excuse as much as you hate hearing it). This, I must admit, is another reason I handed this topic off to someone who knows the subject better than I do.

I do not think it is accurate to characterize my comments as stating that "OO has pretty much all the bad qualities..." As a data management solution, it does indeed have undesirable qualities. As for OO's particular incarnation of type inheritance (or subtyping if you please) I am convinced that it suffers from several problems. As a general paradigm for programming, however--I have found many of it's concepts useful.

> Having read those references how do you see the initial statements that
> you've made?
> Are you aware now of the difference between subtyping and inheritance, and
> what is the practical benefit of separating subtyping from inheritance?

I will reserve comment until I have read the materials you refer to.

> I ask you these questions, because I don't want top engage with you in a
> long discussion where I have to restate all the things that you ought to
> have read, should you have tried to properly *learn* about the domain of
> which you are making such bold claims.

Ouch. Chastisement taken.

> "Type inheritance" as such does apear in some OO books here and there,
> though I think the prevalent term is "class inheritance". In most OO model a
> class automatically defines a type, but the reverse is not generally true.

"...a class automatically defines a type..." Hopefully you mean to say that a class is by definition a type?

> > That is, your <i>opinion</i> relies on an <i>assumption</i>
> > that the terms "type inheritance" and subtyping" have universally
> > agreed meanings--which they manifestly do not.
>
> The term "type inheritance" ...
> I find it unfortunate that probably due to
> a less than careful study it was chosen in The Third Manifesto.

I did notice that within TTM's formal type inheritance model definition, the terms 'supertype' and 'subtype' are exclusively used. "Type inheritance" seems to be their informal term for the concept.

> Therefore "type inheritance" has no universally agreed meaning because it is
> generally agreed that it is irrelvant as a term.

See my prior comment.

> I didn't assume that the Third Manifesto actually contains a *formal* type
> system. Even the language and style of the book led me to such a conclusion.

Perhaps this will clarify (p. 192 of TTM 2nd ed.):   "Despite the fact that languages and products that support some kind of inheritance do exist (and indeed have done so for some time), and despite the fact that inheritance has been discussed for years in books and articles and presentations, there is still no consensus on a formal, rigorous, and abstract inheritance model. ..."

  "Part ... of this book describes an inheritance model that (we believe) could serve to fill the gap. ... We do not include it as a mandatory part of the manifesto, however---we merely insist that <b>IF</b> type inheritance is supported at all, <b>then</b> that support shall be based on the model described..."

Chapter 13 contains the formal definition of that model.

> It is in this sense that I said "it is simply not true [that relational
> model have a formal and well defined model of type inheritance]".

As has been stated by both Date and myself, this topic hardly relates the Relational Model. The message I was trying to portray in my original posting is that OO concepts are not necessary in order to provide type inheritance in a relational system. I would have likely stepped on fewer toes had I stated it that way, but surely you agree with the idea?

> And that
> Date&Darwen's proposal doesn't meet the criteria by a safe margin.

Since I have not done my homework, it wouldn't be very fair to ask you to do yours, but if you DO have a copy of TTM book around, you may want to look at Chapter 13.

> I never
> took the _requirements_ for a future type system of a future language as the
> type system itself, so it wasn't a slighting remark (IMO).

No, but you did state that Date&Darwen don't have a "formal and well defined model of type inheritance" and considering that it is quite clear that TTM explicitly states that they have attempted such, you remarks can easily be viewed as slighting. Date and Darwen have gone to great lengths to make sure that the presented concepts are indeed formal, rigorous and well defined. You too may want to "*learn* about the domain of which you are making such bold claims." (sorry, couldn't resist ;-)

When all is said and done, it may have been a mistake for me to even bring up this controversial matter lest I cast a negative shadow on the true essence of what I was attempting to portray. My apologies for the distraction.

Regards,

--
Nathan Allan
Received on Thu Sep 26 2002 - 20:14:15 CEST

Original text of this message