DataBase Debunking: clarifications

Massimo Dentico m.dentico@virgilio.it
Mon, 24 Jun 2002 05:20:50 +0200


Citing myself:

>  - The *one* good idea of object technology is support for a proper =
type
>    system, and the relational model already includes such support
>    { Domains in realational data model are ADTs (Abstract Data Types) =
}

Here I have been a little bit unwise in the use of the term ADTs.
To clarify the issue I suggest to read at least:

"COMPLEX" DATA TYPES: WHAT OBJECT PROPONENTS DON'T TELL YOU - Part I
by Fabian Pascal, (7 July 2000) - CONTENT section on DataBase Debunking
(http://www.dbdebunk.com/)

Encapsulation Is a Red Herring
by C.J.Date
(http://www.dbpd.com/vault/9809date.html)

Persistence Not Orthogonal to Type
by C.J.Date
(http://www.dbpd.com/vault/9810/date.html)

The latter, IMO, is of particular interest for the Tunes project because
it addresses Orthogonal Persistence, so here an excerpt (emphasis mine):

-------------------------------------------------------------------------=
------
[..]

POTT [Persistence Orthogonal To Type] Violates Data Independence

[..]

- The object model says we can put anything we like in the database (any
  data structure we can create with the usual programming language =
mechanisms).

- The relational model effectively says the same thing--but then goes on
  to insist that whatever we do put there be presented to the user in =
pure
  relational form.

More precisely, the relational model, quite rightly, says nothing about
what can be physically stored. It therefore imposes no limits on what =
data
structures are allowed at the physical level; ***the only requirement is =
that
whatever structures are physically stored must be mapped to relations at =
the
logical level and be hidden from the user***. Relational systems makes a =
clear
distinction between logical and physical (that is, between the model and =
its
implementation), while object systems don't.

One consequence of this state of affairs is that, as already =
claimed--but
contrary to conventional wisdom--object systems might very well provide
less data independence than relational systems do. For example, suppose
the implementation in some object database of the object EX mentioned
earlier (denoting the collection of employees in a given department) is
changed from an array to a linked list. What are the implications for
existing code that accesses that object EX? It breaks.

[..]
-------------------------------------------------------------------------=
------

Best regards.

P.S.: as usual, I hope that my horrible English prose doesn't bother
      too much the readers.

--
Massimo Dentico (MaD70)