# Re: Extending my question. Was: The relational model and relational algebra - why did SQL become the industry standard?

Date: Wed, 26 Feb 2003 10:37:27 -0000

Message-ID: <b3i5u8$n84$1_at_sp15at20.hursley.ibm.com>

"Bob Badour" <bbadour_at_golden.net> wrote in message
news:7ZT6a.359$345.54874164_at_mantis.golden.net...

> > 1. An implementation is incorrect if it does not faithfully reproduce all

*> > aspects of the model. To me it is obvious that an implementation that
**> breaks
**> > say my A) and B) criteria is strictly incorrect.
**>
**> Every physical implementation of every logical model, then, is strictly
**> incorrect.
*

I just don't get that. We should not tolerate physical implementations that do not faithfully reproduce all aspects of the model. Just as we should not tolerate an RDBMS that permits duplicate rows, we should also not tolerate a RDBMS that breaks another aspect of the model, such as all pos reps of a type represent the same number of values.

Tell me, how do you classify which deviations from the logical model are tolerable and which are not?

> > 2. I disagree with the conceit that a 'logical data model is an ideal

*> > abstraction' with all the implications that the 'real world' has forever
**> > unknowable complexities . Ask a physicist. Do they consider their theories
**> as
**> > abstractions of the world, or rather, as I see it, the theories are how
**> the
**> > world *actually* works.
**>
**> A good physicist will certainly say that the mathematical models are
**> abstractions of the world. No physicist knows whether space is continuous.
**> No physicist knows why masses attract each other.
*

I thought that they generally believe that it is not continuous, but no matter.

> To a physicist, a theory is a predictive model of the universe. The

*> physicist's job is to test the quality of the theory and to seek better
**> theories.
*

Agreed, with the ultimate goal to find the theory that explains everything...

> > 3. But if, even in principle, no possible physical implementation could

*> > implement the logical model correctly, then quite simply the logical model
**> is
**> > (to some extent) broken.
**>
**> By that criterion, every logical model is broken. I fail to see the
**> usefulness.
*

Why every model? Why is every model not physically implementable even in principle? Are you saying that the physical world does not obey rules?

> > The received wisdom seems to suggest that it is OK to assume an infinite

*> and
**> > continuous universe. Rubbish! Any logical model that needs to assume that
**> is
**> > never going to be a true model of the world.
**>
**> A logical model should allow one to assume an infinite and continuous
**> universe if it is appropriate to the users' needs. If it is not appropriate
**> to the users' needs, do not assume it.
*

Ok, I won't assume it.

> Nothing in the relational model

*> requires one to make the assumption.
*

This is my point. My interpretation of Date's and Darwen's usual POINT data type implies that one needs to assume an infinite datatype such as REAL if the example is take at face value: i.e. that it is a good example of a type that has two possible representations.

> > > Fourth and finally, I must ask: What other logical data

*> > > model do you propose that addresses the specific issue of cartesian and
**> > > polar coordinates and possible rounding in the internal physical
**> > > representation?
**> >
**> > Well, lets have a go shall we.
**> >
*

[snip]

> With all due respect, Paul, the above is not a logical data model and does

*> not suggest any alternative to the relational model. Neither is it
**> incompatible with any of Date's and Darwen's remarks regarding type
**> inheritance.
*

Well, it was only the beginnings of an outline and yes it is meant to be compatible with their remarks (and certainly with the relational model!!). Heck it is inspired by them. All I am saying is that, in retrospect and maybe being overly critical, not all of their remarks are self consistent. As soon as they changed their minds* that NUMERIC is not a good type** but say NUMERIC(4,2) is, then it follows that a POINT type with two possible representations is also not a great type, but say Point_Int32_Cart with just one poss rep is.

- I don't have the temporal book on me, but see the footnote in the section
dealing with the NUMERIC interval type example.
- by 'not a good type', I probably mean 'not a type at all'. Although I guess you might retort that NUMERIC is a bad basis for an interval type, but ok as a type per se. I would disagree.

Regards

Paul Vernon

Business Intelligence, IBM Global Services
Received on Wed Feb 26 2003 - 11:37:27 CET