[Zope] [OT] Re: ZOPE IN WINDOWS, ANY WARNINGS I SHOULD KNOW? .RE: [Zope] crystal reports

Dieter Maurer dieter@handshake.de
Sat, 28 Jun 2003 19:19:54 +0200

Aur=E9lien Camp=E9as wrote at 2003-6-27 18:44 +0200:
 > Le jeu 26/06/2003 =E0 23:43, Dieter Maurer a =E9crit :
 > > A relational database essentially supports a single data type:
 > > a two dimensional table.=20
 > hmmmmph ! you are not serious, are you ?

I am...

 > I don't know of any RDBMS which doesn't support primitive types (int,
 > float, bool, char, string).

That's what the "essentially" was for.
But you are right.

   I should have said: a single data type (relation)
   beside primitive types.

 > > The ZODB supports an openly extensible
 > > set of data types.=20
 > What is more extensible that the combination of primitives types +
 > relations + inclusion constraints ?=20

A data type is data together with operations on this data.
A RDB lets you define arbitrary complex relations on primitive types but =
very restricted application specific operations.

 > Lacks encapsulation, inheritance, as in OO ? Hopefully no serious DB
 > backend provides true OO semantics since those don't exist (OO semanti=
 > are really defined at the level of the language itself). Relational
 > algebra on the contrary has solid grounds in set and predicate theory.

Set and predicate theory does not restrict relations to be over
primitive types only...

Whenever you need relations over complex objects you are forced into
unnatural auxiliary tables.

 > You can map any "OO model" into the relational model. Not the other wa=
 > around.

The relational model *IS* an OO model with a very restricted set
of (specialized) object types.

 > > This might be considered "less straightforward
 > > to understand". It definitely is not a flaw.
 > The flaw lies in this fact : ODBMS are really hierarchical DBMSes, lik=
 > the ones of the 60's and 70's that the relational model was supposed t=
 > help throw out of the window.

The ZODB is not hierarchically (although what you see on the surface
might look this way). Especially the object types used to build
efficient indexes (BTrees) are not hierarchical at all (despite their nam=

 > That's not to say ZOBD isn't neat and usefull, but please. I just hate
 > when some knowledgeable person spreads FUD on those topics.

They see the world differently from you...