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

From: Bob Badour <>
Date: Sun, 9 Mar 2003 16:53:14 -0500
Message-ID: <T9Paa.408$>

"Jan Hidders" <> wrote in message
> Paul Vernon wrote:
> >"Bob Badour" <> wrote in message
> >news:7ZT6a.359$
> >> > 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
> >do not faithfully reproduce all aspects of the model. Just as we should
> >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
> >represent the same number of values.
> >
> >Tell me, how do you classify which deviations from the logical model are
> >tolerable and which are not?
> Sorry for breaking in like this, but could it be that you are confusing
> different "logical models"? I would say that on the one hand there is the
> model that physicists and mathematicians use, let's call it the physical
> logical model, that (possibly) talks about reals and continuous intervals
> cetera, and on the other hand there is the database logical model that is
> also mathematical but necessarily discrete since we have to store it in a
> computer. So where in the physical logical model we have reals there are
> the database logical model floats with a certain finite precision, and
> therefore the database logical model is sometimes necessarily an
> approximation of the physical logical model. However, the implementation
> the database logical model should of course be completely faithful and not
> introduce bags or change the precision of the floats.
> Let's not forget that a data model is always a model of the model of the
> user of his or her reality. :-)
> Having said this, it would be very strange that the equality relationship
> defined over the representations would not be an equivalence relation,
> that is more or less the accepted fundamental property of any equality
> operator. If you are going to convert coordinates and do some rounding
> might go wrong.

This is true any time one uses floating point representations and does some rounding. Consider:

Y := X^(0.5)
Y := Y*Y*Y*Y
X := X*X

Would you necessarily expect the logical expression (X = Y) to evaluate to TRUE? Received on Sun Mar 09 2003 - 22:53:14 CET

Original text of this message