Re: Databases as objects

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Fri, 22 Dec 2006 17:47:34 GMT
Message-ID: <WSUih.36261$cz.534857_at_ursa-nb00s0.nbnet.nb.ca>


Marshall wrote:

> On Dec 21, 1:33 pm, Thomas Gagne <tga..._at_wide-open-west.com> wrote:
>

>>... the
>>database is an object, which should hide its data and only be used
>>through its interface, just like they do with other objects in their
>>models.

>
> The interface to the database is the schema and SQL.
> What do you think the interface is?

Mathematics. Anything else is just clutter.

>>Using procedures, applications can query and manipulate
>>data in a uniform and predictable manner regardless what programming
>>language is used or what paradigm(s) it supports.

>
> Using SQL, you get all those things you just mentioned.
>
> I don't see any need to complexify it up.

Indeed. Mr. Gagne referred to 'data hiding' in any earlier post. Somewhere along the line the OO folks lost touch with engineering principle of "information hiding" by confusing it with something else. Ask any three OO folks what that something else is and I am sure you will get 7 contradictory answers, but everyone will agree that it is called 'data hiding' and will assure us that everyone agrees on exactly what it is and why it is important.

Programmers, who are familiar with data management, will immediately recognize that information hiding and data independence are equivalent concepts. (Or at least direct analogues.)

Physical independence hides all of the physical design decisions that trade off various performance and resource criteria. Logical independence hides the design decisions of each application from all other applications and vice versa. Transactions and concurrency models seek to maximize temporal independence. etc.

We programmers are addicts. We love to get lost in the details, "enter the zone", and churn out code while mentally juggling complex concepts. It's a high. The first step is admitting to ourselves... Received on Fri Dec 22 2006 - 18:47:34 CET

Original text of this message