Aurélien Campéas wrote at 2003-6-27 18:44 +0200:
Le jeu 26/06/2003 à 23:43, Dieter Maurer a écrit :
A relational database essentially supports a single data type: a two dimensional table.
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.
What is more extensible that the combination of primitives types + relations + inclusion constraints ?
A data type is data together with operations on this data. A RDB lets you define arbitrary complex relations on primitive types but only 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 semantics 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 way 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, like the ones of the 60's and 70's that the relational model was supposed to 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 name).
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... Dieter