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

From: Tony D <tonyisyourpal_at_netscape.net>
Date: 5 Jun 2006 14:01:57 -0700
Message-ID: <1149541317.806058.151770_at_g10g2000cwb.googlegroups.com>


I'm going to raise a point with a particular sentence of this reply, not the whole thing ...

Marshall wrote:

[ snippety snip snip snip ]

> I hear you saying "some parts of an application are happier using
> an application-specific form of the application's data." Well,
> what is wrong with the designer of the schema that he came
> up with a schema that is not well-suited for the application?
>
> But perhaps we are talking about an enterprise situation,
> where a single diverse schema supports many different
> applications. We still assume that the schema is the one
> best suited to the overall needs of the system; if it is not,
> you should change it. Otherwise, allow the application to
> query the data in such a way that it gets the results back
> in the form it *does* like. ***SQL is the best tool for this.***
>

Surely the schema should be the one that best represents the reality of the situation you're dealing with ? If the schema seems complicated, there are two possibilities: either the designer mucked up (in which case fix it), or reality is genuinely more complicated than you thought / wanted / liked / hoped for (in which case - live with it). Any time I've seen a complicated model of a complicated reality simplified artificially (to save time / effort / whatever), it has inevitably led to wailing and gnashing of teeth, usually 6 months to a year later. "There's never time to do it right, but there's always time to do it over."

And if you really *must* do application specific databases - roll out the welcome mat for the data whorehouse salesman, 'cos he's gonna come a-knockin' real soon now ... Users, for some obscure reason, quite often like to see how this mountain of facts ties together. If you've intentionally built all these little islands of data in app specific databases, you've just delayed the inevitable reconciling of them all to some later date, and likely made the job that bit messier than it could have been.

[ loads more snippage ]

>
> Computer programming is doing applied mathematics.
>

Or maybe formal philosophy (I was always a duffer at maths...) Received on Mon Jun 05 2006 - 23:01:57 CEST

Original text of this message