Re: A Logical Model for Lists as Relations

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Thu, 11 May 2006 15:02:48 GMT
Message-ID: <smI8g.6309$A26.161708_at_ursa-nb00s0.nbnet.nb.ca>


JOG wrote:

> Bob Badour wrote:
> 

>>JOG wrote:
>>
>>
>>>Bob Badour wrote:
>>>
>>>
>>>>Jay Dee wrote:
>>>>
>>>>
>>>>>Bob Badour wrote:
>>>>>
>>>>>>Since it is relatively easy to write a query that extends a relation
>>>>>>with a rank per any explicit order, I am not even sure the ordinal
>>>>>>attribute is required.
>>>>>
>>>>>True. I wasn't exactly sure what MS wanted to happen, for example,
>>>>>to the fourth element in a list when the second element is elided.
>>>>>Does it become the third? If so, your proposal is a good
>>>>>solution. But...
>>>>>
>>>>>What if he envisions a list in which duplication of elements is
>>>>>significant?
>>>>
>>>>If one has a numeric index that differs for each tuple, one never has
>>>>duplication. If one has duplication, one wonders how to refer to the
>>>>duplicates. As Codd observed long ago, once one has said a thing is
>>>>true, what does saying it again achieve?
>>>
>>>
>>>Wise words from the Codd. However, I think people confuse (and by
>>>people I essentially mean myself) trying to encode statements such as:
>>>
>>>There is a person called Ernie who likes beer.
>>>There is another person called Ernie who also likes beer.
>>>
>>>Ex likes(x, Ernie, beer) &&
>>>Ey likes(y, Ernie, beer) &&
>>>x != y
>>>
>>>The two Ernies are obviously different people but I don't have enough
>>>information to harness liebniz equality and so distinguish them, I just
>>>have the fluff of 'another' saying that those distinctions do exist. So
>>>I obviously use a surrogate to represent the missing information.
>>>Something seems sliiightly artificial about this though - I just can't
>>>put my finger on what at the moment. (perhaps in terms of logic I
>>>should just be encoding "There are 2 people called Ernie who like
>>>Beer"?).
>>
>>If there are two Ernies in real life, there is some way to distinguish them.
> 
> Yup, but what if we're just lumped with the statements supplied and
> don't have access to those distinctions, even though we know they
> exist? Surrogates right?

If that is the case, how do you even know you have two Ernies?

>>The problem you describe is not a flaw of the logical data model
>>but an incomplete analysis and design.

> 
> Now, is it therefore correct to say that RM assumes complete
> information?

No logical data model has anything to say about information lying beyond the universe of discourse.

  I personally fell this outlook is generally for the good -

> but others' beefs with the model seems to centre around the fact that
> this may not be a realistic assumption in some real_world(tm)
> situations.

As I already spelled out, the flaw is not with the logical data model. All you have done is identify a (rather artificial) situation calling for a schema change. The situation would call for a schema change no matter what logical data model you used.

>>The same problems arose when recording information with pen and paper
>>before computers were ever built.

> 
> A good point.
> 
> And I'd warrant there are posters on cdt who can recall those very
> days...

What? The days of pen and paper? Like today? Received on Thu May 11 2006 - 17:02:48 CEST

Original text of this message