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

From: David Cressey <dcressey_at_verizon.net>
Date: Wed, 31 May 2006 18:04:27 GMT
Message-ID: <LUkfg.6350$o%3.915_at_trndny07>


"Robert Martin" <unclebob_at_objectmentor.com> wrote in message news:2006053107402343658-unclebob_at_objectmentorcom...

> 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.
>

Agreed.

> 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. 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.

Agreed, up to a point. Choosing WHETHER to use a DBMS is a major decision, although not quite like the data model.
Even if its postoponed as long as possible, it's still going to be quite
early in the decision making process.

If one chooses to use a DBMS, one can defer for a while deciding what class of DBMS (meaning, relational, codasyl, hierarchical, object oriented, or sui generis) to use. But by the time you come to logical data modeling, you should be able to choose a model that fits well with the class of DBMS you will use. Even if you decide not to use a DBMS, and instead use indexed files, you may find that the relational model suits you well for logical data modeling. Been there, done that.

Choosing a particular DBMS, (Oracle, DB2, SQL Server, etc.) can be deferred even longer. By the time you get down to physical data modeling, you should have made this choice, as well as choices about resources, volumes, traffic, and acceptable delay times. Received on Wed May 31 2006 - 20:04:27 CEST

Original text of this message