Re: Clean Object Class Design -- What is it?

From: Bob Badour <bbadour_at_golden.net>
Date: Sat, 4 Aug 2001 11:39:15 -0400
Message-ID: <kOUa7.209$rg4.18436213_at_radon.golden.net>


>The relational model is based on set theory. Language models like
 Smalltalk,
>Lisp, and the functional languages are based on lambda calculus. Set theory
>is not expressive enough to represent the semantics of second-order maths.

If you bother to look, I think you will discover that Dr. Codd originally based the relational model on second-order predicate logic. I am not aware of any products or experiments based on second-order logic, and I have to admit that I have never encountered a need for this in my work.

I was never really satisfied with Dr. Codd's second-order operations because the results seem to violate 1NF. Perhaps, others know more about the issue than I.

>Now if you implemented the relational model on top of a Lisp or a Smalltalk
>back end, then you could formulate second-order queries using those
 language
>models. Also, instead of representing relational queries as Strings, they
>would be represented as lambda expressions. This would allow things like,
>for example, a query engine that could remember and recognize similarities
>among queries in order to provide more efficient and intelligent responses,
>much in the same way an information officer at a train station could answer
>similar queries about different train schedules during the course of a day
>(without going through the same mechanical lookup process each time). IOW,
>databases that learn.

I would argue that the relational model currently provides the best platform for adaptive DBMS systems. I have long held the opinion that the DBMS should tune its own performance, for instance, and I have yet to see any other logical data model that has any hope of achieving this goal.

The relational model imposes no restrictions on how one implements an RDBMS, and that includes the choice of programming language.

>If I am not totally off-base with the above, I think it provides a
>reasonable response to Bob's concerns about a lack of a formalism for OO
>models and how they can be useful in a relational context.

I don't think it even begins to address them.

The relational model deals with one thing and one thing only: the logical data model exposed to the user.

When you shift the discussion to the application programming language or the programming language used to write the RDBMS, you are not addressing anything within the scope of the relational model itself. You are not addressing any issue pertinent to the logical data model, and you are not addressing any of my concerns or points. Received on Sat Aug 04 2001 - 17:39:15 CEST

Original text of this message