Re: The Theoretical Foundations of the Relational Model

From: Tak To <takto_at_alum.mit.edu.->
Date: Tue, 02 Jul 2002 14:00:20 -0400
Message-ID: <3D21EA34.B584537B_at_alum.mit.edu.->


Jimmy Venema wrote:  

JV> I always hear about the well founded mathematics of the relational model,

I have misgivings about such claims myself. All it says is that there are some theorems about the relational model. It says nothing about how these theorems are relevant in programming.

JV> but if I look at the basics I only see stripped OO models.

I suppose you can say that; but stripped does not mean worse in general. For example, Occam's Razor states that less is better. It really depends on what you want to model.

JV> From a OO point of view a relational database implements its relations
JV> only unidirectional, it only has what we call a backward reference. In a
JV> OO model you can have a forward unidirectional relation a backward or
JV> a bidirectional relation.

Yes. In general, the OO model is a network model.

JV> Most of the time people are not aware of this and during JV> implementation they make a selection.

Yes. However, it is not necessarily a bad thing. See below.

JV> In order to improve forward navigation or to phrase it differently,
JV> improve some typical kind of SELECT use, additional (binary) index
JV> trees are used.   All this tree stuff happens behind the scene, but
JV> it is there to get decent performance. 

The same can be said of high level programming languages vs machine language. Most people believe in having the application programmer use a high level language and leaving the compiler writers to worry about making use of special op codes in the instruction set.

Likewise, some people believe in leaving the lower level organization of data to the DBA and optimization to writers of the Query Optimizer.

JV> So if I look at the table/colomn level and the class/member
JV> level I must say that the relational model is a subset of the OO
JV> model.

Yes.

JV> So the mathematics applicable on the relational model should also be JV> applicable to the OO as well.

NO! This is in general NOT true in mathematics. E.g., a group is always a semi-group; but many theorems on groups are not applicable to semi-groups.

JV> A resticted OO model which only uses relational constructs, is as JV> well founded by mathematics as the relational model.

A _restricted_ OO model is; but not necessarily an _unrestricted_ OO model (assuming one exists).

JV> The problem is that there are additional constructs possible and for
JV> that part there is not (yet) a well founded set of mathematics.
JV> But is goes a bit to far as to say that the relational world
JV> has well founded mathematics and OO not.

Agree. In any case, "is well founded" is more or less meaningless if the relevence of the theorems to programming is ignored.

Tak

-----------------------------------------------------------+----------
Tak To                                            takto_at_alum.mit.edu.-
--------------------------------------------------------------------^^
 [taode takto ~{LU5B~}]      NB: trim the .- to get my real email addr
Received on Tue Jul 02 2002 - 20:00:20 CEST

Original text of this message