Re: Concurrency in an RDB - another question about recursive definitions
From: paul c <toledobythesea_at_oohay.ac>
Date: Sat, 20 Jan 2007 19:04:07 GMT
Message-ID: <HItsh.724648$1T2.60035_at_pd7urf2no>
>
>
> Thanks but if this is answering my question, it may be too terse for me
> to see it!
>
> Are you saying that
>
> B = { { a1, {a2, {a3, {} } } } } /* a=a1, b={ a2, { a3, {} } */
>
> is possible, given the self-refencing definition?
>
> (Whereas I was thinking that it would be impossible for B to have only
> one tuple.)
>
> p
Date: Sat, 20 Jan 2007 19:04:07 GMT
Message-ID: <HItsh.724648$1T2.60035_at_pd7urf2no>
paul c wrote:
> Bob Badour wrote:
>
>> paul c wrote: >> >>> Bob Badour wrote: >>> >>>> ... >>>> What I am saying is: When you project onto A, the data type of B is >>>> mostly** irrelevant. Likewise, when you project onto B, the data >>>> type of A is mostly irrelevant. >>>> >>>> The fact that you have a recursive data type definition has no >>>> effect on project or join or restrict or union or intersect or >>>> difference etc. The values identified as B are simply values. >>>> >>>> Assuming: >>>> >>>> A = { a1, a2, a3, a4, a5 } >>>> B = { {a,b} | a in A and b in B } >>>> >>>> Given relation R{a in A,b in B}: /* Using C-style comments */ >>>> >>>> R = { { a1, { a2, { a3, {} } } } /* a=a1, b={ a2, { a3, {} } */ >>>> , { a4, { a3, {} } } /* a=a4, b={ a3, {} } */ >>>> , { a5, { a2, { a3, {} } } } /* a=a5, b={ a2, { a3, {} } */ >>>> } >>>> ... >>> >>> >>> >>> >>> Bob, now I remember a parallel question that struck me about your >>> subtle definition of B, B = { {a,b} | a in A and b in B }. I take it >>> that you meant B to be a type that is used by the R relation. But is >>> it somehow plausible to see B as a relation? >> >> >> >> B must be a relation type, in fact. >> >> >>> If so, I would think that a value for relation B that has one tuple: >>> >>> B = { { a1, {a2, {a3, {} } } } } /* a=a1, b={ a2, { a3, {} } */ >>> >>> is not possible because by definition (B "referencing" itself), there >>> would need to be two additional tuples to make it stick to the >>> definition, namely >>> >>> { a2, { a3, {} } >>> >>> and >>> >>> { a3, {} }. >>> >>> Thanks for any comments, >>> p >> >> >> >> Relations are sets and {} is one of them. Thus {} is a valid B value; >> although, I omitted the headers for brevity. Joe Thurbon introduced a ...
>
>
> Thanks but if this is answering my question, it may be too terse for me
> to see it!
>
> Are you saying that
>
> B = { { a1, {a2, {a3, {} } } } } /* a=a1, b={ a2, { a3, {} } */
>
> is possible, given the self-refencing definition?
>
> (Whereas I was thinking that it would be impossible for B to have only
> one tuple.)
>
> p
Let me change that last comment to:
(Whereas I was thinking that it would be impossible for B to have only one such tuple.)
p Received on Sat Jan 20 2007 - 20:04:07 CET