Re: Conceptual, Logical, and Physical views of data

From: David Cressey <>
Date: Sun, 11 Sep 2005 12:31:15 GMT
Message-ID: <nsVUe.10257$>

"paul c" <> wrote in message news:H3LUe.460616$5V4.319803_at_pd7tw3no...
> Marshall Spight wrote:

> Marshall, as one to another, you are doing fine AFAIAC and thanks for
> correcting various errors of mine, here as well as giving me food for
> thought. For me, context is everything and being, admittedly, a
> relational bigot, I've got no problem with some pointer from somewhere
> or other being in a relation as long as it is *in* the relation, ie.
> doesn't violate Codd's Information Principle. I don't care what some
> other developer's 'meaning' for it is as long as that meaning works in
> his application and doesn't screw up mine. And I don't think the RM
> cares either. The meaning of a relation in Codd's sense is by
> definition external to the RM.

I agree that Marshall is doing fine. Over the last year or so, he's given me lots of food for thought,
and corrected several errors of mine as well. I think the fact that he has not only "gotten it" about
the power and elegance of SQL and the RDM, but also can intergrate that awareness with an overall
awareness of the rest of computer science, is unsual, even in this forum. Whenever a topic looks interesting to me, I always look forward to seeing what Marshall's take on it is going to be. There are a few others in this forum that influence me as much, but only a few.

I'm somewhat a relational bigot myself. I took a look at a Codasyl database briefly, and decided to postpone learning databases for a while, until something better came along. When I saw my first relational database, I decided that I had found something better. I've been working with relational databases ever since. However, (and this is a big qualification), there are limits to my relational bigotry.

First, I don't scorn SQL the way true relational bigots do. While I don't dispute the defects attributed to SQL from a relational point of view, I'm very simply willing to live with SQL until it gets replaced by something better.

Second, I don't think that all programming should be done in a database language like SQL, or that all programs should be under the aegis of a DBMS, like stored procedures in an Oracle database. There are times and circumstances where either of these is appropriate, and other times and circumstances where they are foolish. SQL is simply not general enough to replace all general purpose programming languages. And attempts to make it that general simply interfere with its primary mission, which is to serve as an interface language for data exchange.

Third, I don't elevate the logical model to the level of idolatry that some relational bigots do. While the FORM of a logical model ought to be implementation independent, I think it's PURPOSE is anything but implementation independent. If one is not going to eventually implement something, then building a logical model is merely an exercise, in my book. And if one is going to implement something, the implementation ought to reflect the design decisions expressed in the logical model.

Fourth, I don't believe that relational database theory is the end point of all history, as far as advancements in the fundamental state of the art. In particular, I expect "computer database theory" to eventually come up with something that relegates the relational model to history. I greet all pretenders with healthy skepticism, but I don't doubt that some pretender will eventually be crowned.

So I guess, for me, The relational data model, and its implementation in SQL databases, is more of a pragma than a dogma.

I'm sorry this note is so long. But I couldn't figure out how to say it more concisely.

> Let the authors with their vested interests try to ram their dogma
> (which is usually a moving target since their boats will sink fast if
> they stop chattering and answer the question at hand) down everybody
> else's throats. I'm not interested in trying to prove it, but I suspect
> that if one took some of their pronouncements to heart, all logical
> database development would come to a permanent halt. When it comes to
> pronouncements about IT, I've found that it helps to ask how the
> pronouncer earns his or her daily bread when trying to figure out
> whether they've got their finger on a universal truth or not. I could
> tell stories about PhD's who left academia for industry and nearly
> crippled development shops. But I think they were failures in academia
> first. I could mention fewer PhD's who sped things up. It was the
> combination of the person and the credentials that really mattered.
> As for pointers, I saw an admittedly non-relational system that did tip
> its hat to some relational notions and materialized main memory with
> keys that happened to be storage addresses. It was partly 'made out of
> itself' and this made economic sense. Didn't claim to be complete, but
> it was pretty darned consistent and I could imagine a really relational
> system allowing the same thing. However, if somebody else doesn't see
> it my way, good for them, and let them explain all the costs, short-term
> and long-term (including loss of data independence) of their better
> approach (and better it may be in their particular case, especially if
> the boss and owners don't care about the long-term in which case I'd
> hope it was a commercial and not a government 'enterprise') to their
> boss or customer.
> p
Received on Sun Sep 11 2005 - 14:31:15 CEST

Original text of this message