Re: Canonical DB (was: The wisdom of the object mentors)

From: Robert Martin <unclebob_at_objectmentor.com>
Date: Wed, 21 Jun 2006 16:53:04 -0500
Message-ID: <2006062116530443658-unclebob_at_objectmentorcom>


On 2006-06-20 13:05:00 -0500, mAsterdam <mAsterdam_at_vrijdag.org> said:

> Robert Martin wrote:

>> mAsterdam, parafrasing Robert Martin, said:
>> 
>>> "Applications should not strongly
>>> depend on a navigational format unless that
>>> format IS the most convenient form for them.":
>>> a matter of convenience for some applications
>>> at the cost of convenience for other applications.
>> 
>> And so each application programmer needs to decide
>> what form the data is most convient in, and convert  from the canonical 
>> DB form to that convenient form.

>
> This only raises new nuances to my original
> questions about your statements.
>
> "the canonical DB" is what, and gets designed how?
> When? To start by converting from it the DB design
> must be finished before the application design

> starts - is that part of your method(ology)?

I was thinking of a mature enterprise system that has a well worn RM holding the enterprise data, and a constantly changing set of applications that use that data.

If I were starting a system from scratch I would grow the RM and a few applications concurrently, evolving them together.

> You snipped my original questions.
> I'll re-state them in the current context this time:
>
> Earlier you said:
>
> "Because it [asymmetric navigational structure]
> also makes some computations easier."
>
> And I asked "Which (or which types of)
> computations are easier [with a
> navigational structure]?"

Things like tree searches, graph walks, etc.

> Also you said:
> "An application will often reform data into a
> non-relational structure that eases computation."
>
> In order to clearly understand what you meant by that,
> I asked: '"non-relational" as a synonym to "navigational"
> or did you have something else in mind?'

The term "navigational" doesn't mean a lot to me. I'm thinking of in-memory data structures managed by the application language.

-- 
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 Jun 21 2006 - 23:53:04 CEST

Original text of this message