Re: Extending my question. Was: The relational model and relational algebra - why did SQL become the industry standard?
Date: 26 Feb 2003 13:58:33 +0100
Paul Vernon wrote:
>"Bob Badour" <bbadour_at_golden.net> wrote in message
>> > 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
>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?
Sorry for breaking in like this, but could it be that you are confusing two 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 et 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 in 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 of 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 as defined over the representations would not be an equivalence relation, since that is more or less the accepted fundamental property of any equality operator. If you are going to convert coordinates and do some rounding this might go wrong.
- Jan Hidders