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 16:31:29 GMT
Message-ID: <Bxjfg.15556$A26.362212_at_ursa-nb00s0.nbnet.nb.ca>


Robert Martin wrote:

> On 2006-05-30 06:31:53 -0500, "Erwin" <e.smout_at_myonline.be> said:
>

>> Little point in preaching to the chuiar of course (how do you spell
>> that damn word ?).
>>
>> Go tell this on an Otherwise Oriented forum, you'll get dawnbashed.
>>
>> That said, application code is still highly important because it's
>> needed to fill all the holes that current dbms's still leave wide open
>> in the area of constraint enforcement.

>
> This statement is fascinating. It takes the view that the majority of
> the system is DB and that application code simply fills the cracks. The
> DB represents the bricks and the application code is the mortar.
>
> I disagree with this analogy.

Which is highly indicative of your profound ignorance, which was noted previously.

The RDBMS is a mechanisms for storing,
> accessing, reporting, data. That mechanism can be implemented many
> different ways and need not even be an RDB.

If one is stupid, ignorant or has no choice, I suppose one might use something different. The RDBMS is also a mechanism for manipulating data, for security, for integrity, for derivation, for all-round management -- as the name implies.

   The application code
> defines what the program does with the data.

Other than enter, manipulate, report and derive, what does one do with data?

[irrelevant and incorrect metaphors snipped]

>> Little true story : some OO proponent in a seminar (well, it was
>> actually "in front of an audience") declared that integrity enforcement
>> is the responsibility of the application, blahblahblah (he also
>> promoted meaningless ID's everywhere in the same breath).  I asked him
>> if he was actually aware that the first letter of the word IT stood for
>> "information".  His reply was : Yes, but the second stands for
>> "technology".

>
> The story may be true, but I'm not sure I get the point. Frankly, it IS
> the responsibility of the application to enforce integrity. Oh, the DB
> can enforce it while the data is in the warehouse, but the data comes
> out of the warehouse, gets transported all over the place, gets
> transformed in many different ways into many different products, gets
> presented to many different customers and put into many different
> systems, and for all these activities it is the APPLICATION that must
> enforce the integrity of the data.

Once again, you expose your ignorance. If you remove the data from the data management system, obviously, you force yourself to re-invent other tools to manage the data--however poorly. It strikes me as rather stupid to choose the wrong tool for the job, though.

   The DB loses control once the data
> is out of the warehouse.

Here, you expose sloppy thinking. A database is simply a set of facts, which renders your sentence nonsense. If one were charitable, one might substitute 'data management system' where you put DB, but then the statement would become unremarkable and pointless.

> Clearly keeping the integrity of the data in the warehouse is
> important. But that's not the whole story. It's not even most of the
> story.

Yes, that's true. If the protagonist chooses at the outset to do stupid things (ie. to manage the data without a management system, to travel to an island full of dinosaurs, to catch the maneating 30 foot great white shark etc.), then Act II generally follows the protagonist as he struggles against the harmful consequences of his stupid choices, and Act III culminates the story with the protagonist either overcoming his stupidity or succumbing.

That makes for entertaining drama, but I wasn't aware that the goal of computing science or information technology was to create drama or to entertain ourselves, per se.

> Finally, and this is critical to the understaning of my point, the code
> in which data integrity is specified IS application code. It may be
> written in a special purpose DB language, or it may not. But it is code
> that supports the application.

Code? Do you consider a well-formed formula code? Are logic predicates code? I am just curious what you define as code. If you define code to include everything, then your statement is true if unremarkable and uninteresting. Received on Wed May 31 2006 - 18:31:29 CEST

Original text of this message