Re: 1GB Tables as Classes, or Tables as Types, and all that refuted

From: Alfredo Novoa <>
Date: Mon, 13 Dec 2004 16:53:53 GMT
Message-ID: <>

On 13 Dec 2004 03:15:46 -0800, "Ged Byrne" <> wrote:

>1) Data should be easy to describe. This is something that OO gets
>right and SQL gets wrong.

Data are facts and OO is not about describing facts.

>2) Pointers are purely an implementation matter.

No, a pointer is anything that points to something. Pointers are a fundamental part of a graph based model.

> The problem is that
>the way that objects are constructed in languages such as small talk
>and java means that the logical model is incomplete without these
>implementation details.

The logical models are incomplete without this logical concept. A network model without pointers is like a relational model without relations.

>3) In Java you do have to separate equality operators, the == operator
>that tests for referential equality

In other words: it tests for pointer equality. Pointers and references are the same thing.

In the OO world, to think that two different things are the same thing is as common as to think that two synonyms represent different things.

>Obviously this works, Java works, nobody is disputing this. The
>question is, does it really have to be this complicated?

The answer is: no.

>For example, in SQL databases tables have to be denormalised,
>reintroducing duplication, for the sake of performance.

I prefer "redundancy" to "duplication".

>If views were properly impelemented this would not be a problem. Just
>as the user can work with a view, the model can be implemented on disk
>as a denormalised view. This would have no effect on the conceptual

Agreed, but there other ways to improve the performance.

Regards Received on Mon Dec 13 2004 - 17:53:53 CET

Original text of this message