Re: Object oriented database

From: Keith H Duggar <duggar_at_alum.mit.edu>
Date: Sun, 2 Nov 2008 16:00:09 -0800 (PST)
Message-ID: <97b5fee6-223b-4b49-b9c4-0b8e54793d1b_at_a17g2000prm.googlegroups.com>


JOG wrote:
> I have had the opportunity to interact with numerous top-notch
> software engineers - people who have, out of necessity, worked
> for decades now with OO, on large scale projects.

There are two meanings I read into "out of necessity" above. 1) That some top-guns are forced by peer pressure, managers, etc to ride the OO band-wagon 2) that some top-guns for want of better tools (say for example some general purpose system programming languages having first class relational support) choose to use from what they have available. Which if either or both did you intend?

> The interesting thing is that they all seem to develop best
> practices of using those tools in ways that mimic policies
> that are core to RM (without even realizing the correlation).
> They focus on interfaces and storing underlying data as
> neutrally as possible. They do not rely solely on OID's, and
> use constant identifiers to access objects logically. They
> decompose data organization in ways that echo normalization.
> And they use invariants to mimic predicate constraints.

Finding myself in situation 2) enumerated previously I have, just as you describe, gravitated often unknowing as if being pulled by some inescapable well of logical forces to some or perhaps all those practices. To diagnose if it is all I must inquire what you meant by:

  1. "storing underlying data as neutrally as possible" - here by "storing" do you mean serializations or rather the choice of tuple compositions (ex the data members a class exposes)?
  2. By "neutral" do you mean with respect to expression bias?

> These are the people who are worth discussing data models with
> because, well, they realise OO isn't one, and they have built
> another on top as best they could within its constraints.

Indeed. However some languages (particularly those providing static typing and user defined types, in my opinion) provide some basic and vital blocks. For example, I would argue that the "domain support" C++ provides by its user defined types, inheritance, templates, function + operator overloading, etc is superior to all current database languages. Am I wrong?

KHD Received on Mon Nov 03 2008 - 01:00:09 CET

Original text of this message