Re: What databases have taught me

From: Bruno Desthuilliers <bdesth.quelquechose_at_free.quelquepart.fr>
Date: Tue, 27 Jun 2006 03:03:41 +0200
Message-ID: <44a053ac$0$4782$636a55ce_at_news.free.fr>


Keith H Duggar a écrit :
> Bruno Desthuilliers wrote:
>

>>Marshall wrote:
>>
>>>And yet, people make that mistake again and again and
>>>again.  The focus is on the easy part: structure.
>>
>>But is that *really* the easy part ? Kind of *seems* easy,
>>but... At least 80% of the complicated code I've ever seen
>>came from a wrong structure. And it's obvious that if the
>>structure had followed the processing needs, then the code
>>would have been way much simpler (and better). As a matter
>>of fact, whenever I find myself writing complicated code,
>>I *know* there's something wrong.

>
>
> What happens when different processing needs demand different
> structures that "follow their needs"?

I assume you mean different 'views' of the same data ?-)

> Then some computations
> become easier while others become harder.

Depends... If the 'base' structure allows to easily 'map' to different views, then everything's fine. Else, we're back to the "wrong structure, complicated code" problem.

> This is "expression
> bias"

Ok. To be honest, re-reading my post, the "if the structure had followed the processing needs" part is really wrongly expressed. What I had in mind was mostly about having a sound schema that can easily be "translated" back and forth to the processing-specific needed structure.

> and for me it has been an annoying problem with network
> models. And it drives one inexorably to the relational model.

While I do agree that RM is one of the best possible solutions I know as soon as there are non-trivial relationships between 'entities' and one want to ensure consistency and integrity, I would certainly not use the term "inexorably" (even if I fail to see anything more suited for most business apps).

Also, just "using 'the' relational model" is not enough - it has to be done right. As a matter of fact, a significant part of the "wrong structure, complicated code" I've seen was in RDBMS-based apps. Note that I don't jump to the conclusion that RM is bad - just that analysis and design can be hard, whatever
approach/technology/"paradigm"/model/whatever one uses. No silver bullet, as usual... Received on Tue Jun 27 2006 - 03:03:41 CEST

Original text of this message