Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]

From: VC <boston103_at_hotmail.com>
Date: Sun, 3 Jul 2005 17:28:08 -0400
Message-ID: <bqadnUVx6YvExVXfRVn-3A_at_comcast.com>


"Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message news:sxRxe.136269$3i5.7167004_at_phobos.telenet-ops.be...

> VC wrote:

>> "Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message
>> news:xxBxe.135773$vq.7300203_at_phobos.telenet-ops.be...
>>
>>>VC wrote:
>>>
>>>>"Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message
>>>>news:eHrxe.135259$JD6.7251058_at_phobos.telenet-ops.be...
>>>>
>>>>
>>>>>vc wrote:
>>>>>
>>>Anyway, why do you want specifically an algebra? You don't need one for
>>>asking queries, not for defining views and you don't need one for query
>>>optimization, so why bother?
>>
>> Please clarify whether tour are talking about the RM views and queries or
>> about something else.
>
> All of them, really. FDM-like models, OODB data models, and also the RM.

OK, we want specifically an algebra (RA) primarily for two practical reasons.

(A) It's trivial to compose relational algebra operators (create nested queries) thanks to the closure property. One can create arbitrarily complex queries by using several simple and easily understood relational operators (join, projection, etc). I imagine similar freedom is not available to the user even with modern network/graph query languages (whatever those might be).

(B) The same freedom to re-arrange RA operators is extremely useful for query optimization (contrary to your opinion). Internally, the query processor decomposes the original query into a set of RA operators and then tries to rewrite the query so that its execution were most effective in terms of resorces (CPU, IO, etc). In other words, the query processor creates an efficient execution plan. I believe this kind of flexibility is not possible with alternative data models ue to lack of closure.

I do not know what a network view might be, but, since a relational view is just a stored query, the same argument as with (A) applies.

>

>> Well, apparently, I am not as smart as most of your students are.
>> Please provide a definition of "conceptual object type".
>
> A unary predicate.

If so, what would it mean to say that object O is of conceptual type T given that T is a unary predicate ? Can you give a for-example ? Does the unary predicate defines a set (it's not obvious from your short sentence) ?

>

>>>>OK. Firstly, why do we care about 'value representation' at all ?
>>>
>>>Because otherwise we couldn't indicate in an ORM schema that the name of
>>>a department is represented as a string.
>>
>> Cannot we just use the notion of data type (aka domain) instead ?
>
> We can, with the additional restriction that the elements of the domains 
> must have some kind of lexical representation.

Please define "lexical representation".

>
> -- Jan Hidders Received on Sun Jul 03 2005 - 23:28:08 CEST

Original text of this message