Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)

From: Robert Martin <unclebob_at_objectmentor.com>
Date: Wed, 31 May 2006 14:17:58 -0500
Message-ID: <2006053114175897157-unclebob_at_objectmentorcom>


On 2006-05-31 10:53:23 -0500, Bob Badour <bbadour_at_pei.sympatico.ca> said:

> Robert Martin wrote:
> The decision to use SQL or Relational technology is NOT at the

>> core of the system.  But the structure of the data IS.  That structure 
>> can, and should, be decided in a technolgy agnostic way for as long as 
>> possible.

>
> And this is why I say that what you write is such ignorant tripe.

Ah, back to the ad-hominems.

> A logical data model provides the structure, manipulation and integrity
> for a formal system. A good logical data model imposes no particular
> structure on the data as a whole while it does provide a structure in
> which to represent data. In fact, the structure of the data itself
> depends largely on one's point of view. One drastically alters the
> appearance of any graph by starting at a different location and
> traversing the edges in different directions.

I'm with you so far.

>
> As a logical data model, the relational model works very well

Surely.

> while the available alternatives work very, very poorly by comparison.

Certainly there are application domains where I would not hesitate to use RDBs. There are also application domains where I would not think of using them at all. So for some application domains RDSBs work very poorly, and other mechanisms work much better.

> Even if one is forced to use a non-relational product, one would have
> to be a complete ignorant fool not to analyse the design relationally.
> It is, after all, the only formalism we have for data that is, itself,
> predicate logic and that treats all data symmetrically.

I disagree. There are many data representations that can be useful and fruitful. The oft touted formalism of RDBs is fine; but does not preclude other mechanisms. For example, simple data structure representations are sometimes much more convenient and efficient than an RDB. As another example, consider your laptop. A lot of data is organized on that laptop using a directory and file structure rather than an RDB. This seems to work quite well as a general purpose organizing principle. There is no hue and cry for our filesystems to suddenly be RDBs.
>
> As the only available symmetric data model, it is the only logical data
> model that even begins to allow one to consider data in a technology
> agnostic way.

Again I disagree. I agree that RDBs DO allow a technology independence. However, they are not the only means to achieve this. Again, consider filesystems. I am currently typing this on a macintosh that has a window open with MS windows running inside. The Windows filesystem can see into the mac file system with no trouble. Indeed, the virtual windows OS can see accross the network to another windows machine and see the files there. Filesystems seem to be quite technology agnostic.
>
> Given that, what you wrote above was self-contradictory while
> suggesting you live in some fantasy world where data may only ever
> appear in a single graph.

You might be surprised at the world I live in.

-- 
Robert C. Martin (Uncle Bob)  | email: unclebob_at_objectmentor.com
Object Mentor Inc.            | blog:  www.butunclebob.com
The Agile Transition Experts  | web:   www.objectmentor.com
800-338-6716                  |
Received on Wed May 31 2006 - 21:17:58 CEST

Original text of this message