Re: The Theoretical Foundations of the Relational Model
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.
>> 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?
>> 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