Re: Interpretation of Relations

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 20 Jan 2007 14:17:46 GMT
Message-ID: <ewpsh.3088$1x.53514_at_ursa-nb00s0.nbnet.nb.ca>


Joe Thurbon wrote:

> On 2007-01-20 20:49:52 +1000, Bob Badour <bbadour_at_pei.sympatico.ca> said:
>

>> Joe Thurbon wrote:
>>
>>> On 2007-01-19 21:22:02 +1000, paul c <toledobythesea_at_oohay.ac> said:
>>>
>>>> Joe Thurbon wrote:
>>>
>>> ...
>>>
>>>>>
>>>>> Relation R_People      = <<D_People>: {{Joe}}>
>>>>> Relation R_Hair Colour = <<D_People X D_Hair>: {{Joe, Blond}}>
>>>>>
>>>>> (The bit in the <> is the relation header, the subsequent sets are 
>>>>> the relation body).
>>>
>>> ...
>>>
>>>>>
>>>>>
>>>>> R_Hair Colour: <<D_People X D_Hair>: {}>
>>>>>
>>>>> indicates that I don't know the colour of Joe's hair. It really means
>>>>>
>>>>> NOT Joes hair is Red
>>>>> NOT Joes hair is Blond
>>>>>
>>>>> Is this right? ...
>>>
>>> ...
>>>
>>>>
>>>> I think this is something that often trips me up - we can obtain 
>>>> tuples that have no attributes only by projecting away other 
>>>> attributes (which I believe is the purpose of TABLE_DEE and DUM)
>>>
>>> Sorry, you've lost me there.
>>>
>>>> or by declaring a relation that has no attributes and then 
>>>> "assigning" (basically, this means memorizing) a value that stands 
>>>> for true or false to that relation.
>>>
>>> Can you do this? I thought that 'attributes' were effectively names 
>>> of domains, so if there are no attributes, there are no domains from 
>>> which you can "assign". What would it look like?
>>
>> Using your notation:
>>
>> Relation DEE = <<>:{{}}>
>> Relation DUM = <<>:{}>

>
>
> Ah, cute.
>
> So, just checking that I understand, DEE has all of its (one) possible
> tuples in its body, the tuple with no values.

Exactly! DEE is the relational equivalent of 'True' and is the identity element for JOIN while DUM is the relational equivalent of 'False'.

> Many thanks,
> Joe

You are very welcome! Received on Sat Jan 20 2007 - 15:17:46 CET

Original text of this message