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

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Wed, 31 May 2006 15:53:23 GMT
Message-ID: <TZifg.15547$A26.362398_at_ursa-nb00s0.nbnet.nb.ca>


Robert Martin wrote:
> On 2006-05-30 05:32:15 -0500, "Alfredo" <alfredono_at_gmail.com> said:
>

>> Bob,
>>
>> You had the "object" warning in the subject line O:-)
>>
>> When managers want a new information system they usually contact with
>> an application programmer (without any database skills) trained by
>> supposed experts like this. No database expert is asked in the process.
>>
>> I think that "mentors" like this should be debunked. They are making a
>> lot more harm than Dawn and the likes.

>
> This begins to approach a substantive argument, so I'll address it with
> substance and ignore the obligatory ad-hominem cowardice.
>
> There is a difference between data modeling and databases. Data
> modeling is an important discipline that must be considered for every
> application. A good data model is a critical part of a good system
> architecture and, along with the partitioning of behavior, is close to
> the core value of the system.
>
> A DBMS is a technical detail. Decisions about it should be deferred as
> long as possible. The decision to use Oracle is NOT at the core of the
> system.

Agreed.

   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.

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.

As a logical data model, the relational model works very well while the available alternatives work very, very poorly by comparison. 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.

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.

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. Received on Wed May 31 2006 - 17:53:23 CEST

Original text of this message