Re: The Theoretical Foundations of the Relational Model

From: Jan.Hidders <hidders_at_hcoss.uia.ac.be>
Date: 23 Jun 2002 16:24:07 +0200
Message-ID: <3d15da07$1_at_news.uia.ac.be>


In article <3d14cc88.13948837_at_news.verizon.net>, JRStern <JXSternChangeX2R_at_gte.net> wrote:
> A nice essay overall, but I have quibbles about some, and am afraid you
> were a bit unsympathetic to the claim that the object model has to utility
> and truth outside of the relational model.

I don't think that this is what was claimed. The point is that the relational model is well founded in mathematics, logic and philosophy when it comes to modelling a universe of discourse. If OO people claim that they have a better model for this then they need to be at least aware of this and show what is wrong with this foundation.

However, for other things than modelling universes of discourse such as programming the (there's only one?) object model might be fine, Paul's article didn't claim anything about that.

>> When we point to a group of propositions with an identical structure
>> (refering to the same kinds of things in the same relationship to one
>> another) we label that group a 'relation'. It doesn't really matter
>> what order they appear in, or what order the elements appear in.
>
> An oversimplification popular amongst relational theorists. Doesn't
> matter to whom?

Yes, it doesn't matter to whom. It is a fundamental assumption in logic that all your information is in you predicates; the world is described by a set of statements ("Die Welt ist alles, was der Fall ist") and nothing else. If you introduce some kind of order over statements you introduce predicates over predicates and you step into the wonderful world of higher order logic. That is a big step that introduces a whole new range of complexities.

>> Why? Because we can reason about the propositions contained
>> within relations in an orderly, deterministic fashion.
>
>Not unless you order them first.

You don't need to presume order to be able to reason in first order logic. Of course you will have to order things if you want to represent them in a computer or on paper, but that is besides the point.

>> The whole sum of Ted Codd's great insight is that all of the
>> programming language stuff about 'references' and 'identity' and
>> 'order' can (and should) be eliminated without losing any
>> representational power.
>
> And that's the big, black hole in relational theory: identity.

No it isn't. It's dealt with by the requirement that relations need a primary key and that domain values are identified by their representation. Clear and simple. (Perhaps too simple, but that is another discussion.) The way that OO models usually deal with identity is introducing all kinds of equalities such as shallow equality, deep equality, structural equality or even allow the user to redefine equality for certain classes as he or she sees fit.

> And it's not clear that relational theory people are interested in
> anything but relational theory, that's just human nature.

As Paul's article showed, the relational model rests upon a long tradition of trying to represent and reason about the world, and that is what the "relational theory people" are interested in. I could just as well claim that it is not clear that "OO people" are interested in anything but OO programming. That is also not really true, but I believe it is not a coincidence that you were talking about OO programming where you should have been talking about OO *modelling*.

Kind regards,

  • Jan Hidders
Received on Sun Jun 23 2002 - 16:24:07 CEST

Original text of this message