Re: object oriented vs object relational

From: James <jraustin1_at_hotmail.com>
Date: 10 Jun 2002 12:36:32 -0700
Message-ID: <a6e74506.0206101136.25b5db6d_at_posting.google.com>


> > > generic code to copy any data structure of arbitrary complexity
> > > For details see: www.xdb1.com/HowTo/CopyObj.asp
>
> You've done a bang-up job showing how much more complex
> and difficult your product is compared to an RDBMS.

How did you arrive to the conclusion that the ability to copy any abitrary data structure is more complex in XDb than in today's typical rdbs without having provided a similar solution to compare with?

Wouldn't the fact that no one (that I know of) has yet provided such a basic operation TEND to indicate that the complexity of implementing such is actually more complex in typical rdbs?

Both XDb and rdbs are fundamentally based on the same concept of relation (a related set of information, according to one book). For example, 3 marbles can constitute a relation. To represent this in rdbs, we create a table named T_Marble and add 3 records and set their values to M1, M2, M3. Similarly, in XDb, we create an object with the value Marble and instantiate three objects and set their values to M1, M2, M3. At the most fundamental level, XDb and rdbs implement the same relation in a similar manner. The difference is what was used to hold the values. In rdbs, we use non-orthogonal containers: table to hold T_Marble and the field of records to hold M1, M2, M3. In XDb, we use orthogonal containers: objects to hold Marble, M1, M2, M3.

Why is orthogonality of importance? Consider the case when there exists marbles M1a, M1b and M1c which are related to M1. In rdb, we create a table "T_M1" with 3 records M1a, M1b, M1c. To represent the association of T_Marble.M1 to table T_M1, we add a foreign key in T_M1 records.

Contrast the above with the orthogonality of XDb. We make 3 instance of object "M1" and set thier values to M1a, M1b and M1c.

A fundamental difference between today's typical rdbs and tomorrow's oodb (ie XDb) is the orthogonality of the container used to hold values. Received on Mon Jun 10 2002 - 21:36:32 CEST

Original text of this message