paul c wrote:
> paul c wrote:
>
>> If I have a domain of items consisting of the values "a" and "b" and a
>> domain of item prices consisting of the values "1" and "2" and an
>> empty relation {ItemID, Price} known by the relvar name "Items", I
>> take it that the logical complement of "Items" has four tuples -
>> loosely, <a,1>,<a,2>,<b,1>,<b,2>.
>>
>> If I select from Items where Price = 3, should a dbms answer with an
>> empty relation or should it take exception, such as "illegal
>> question"? If it doesn't take exception, then I'd guess it is
>> supposing a complement that has an infinite number of tuples which
>> couldn't be implemented on a finite computer.
>>
>> As unhappy as this makes me, I'm now thinking exceptions can't be
>> avoided in practice.
>>
>> p
>
> Ie., is it a logical mistake to allow the query in the first place?
No, it is not a logical mistake. Equality evaluates to false for values
of disjoint types. Because 3 is not in your type, the comparison
evaluates to false.
However, that doesn't prevent a dbms from treating the comparison as an
error on the strictly empirical grounds that it is more likely a human
error than a desired comparison.
Received on Wed May 02 2007 - 19:49:18 CDT