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

From: VC <boston103_at_hotmail.com>
Date: Tue, 5 Jul 2005 20:55:20 -0400
Message-ID: <Z5WdnSXYA_5utlbfRVn-pA_at_comcast.com>


"Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message news:EtCye.138094$Px7.7310395_at_phobos.telenet-ops.be...

> VC wrote:

>> "Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message
>> news:64hye.137293$VX3.7329860_at_phobos.telenet-ops.be...
>>>VC wrote:
>>>>
>>>>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).
>>>
>>>Well, it is available, most of those languages are orthogonal.
>>
>> For example ? One non-relational language example would suffice.
>
> XQuery and OQL spring to mind. Here is a nice overview:
>
> http://citeseer.ist.psu.edu/heuer91principle.html

The article you referenced says:

"As a very important feature of OOQLs we introduced the notion of object-preserving
operator semantics"

My note: apparently to make up for the lack of closure. And further:

"That is rather than returning relations [...] we must be able to express queries that return
existing objects. Views [...] are the most evident reason for this requirement, called adequacy.
To our knowledge, none of the OOQL proposals found so far deals satisfactorily with this requirement"

And elsewhere in the same article:

"If we have only object generating operations [...] we cannot use the constructs like views, updates of views, and the equivalence of queries for optimization purposes"

That's essentially the issues with non-relational query languages I mentioned in my earlier message.

>
> They also mention a few algebras, by the way.

They do, don't they, but do not provide any example.

>

>>>>>>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 ?
>>>
>>>T(O) holds.
>>
>> What does it mean ? What's the "T(O)" domain of interpratation ?
>
> All the objects in the universe of discourse that is supposed to be 
> described by the data model. This set is defined by the modeler, just like 
> the exact meaning of the predicate in question.

If the set/universe of discourse consists of all the objects defined by the modeller, then there is no point in talking about the type since there is only one data type -- the whole universe of discourse. Or I am missing something ?

>

>>>>>>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".
>>>
>>>A finite string over some finite alphabet.
>>
>> Why do we care about a finite string over some finite alphabet
>> representing a value ?
>
> It ensures that we can show it to the user and the user can enter it via a 
> keyboard.

What's that got to do with a logical model ? It's purely an implementation feature, like Oracle limitation on identifiers length. Besides, what about a string 2^2048 long. It's finite, but is it user-friendly ?

>
> -- Jan Hidders Received on Wed Jul 06 2005 - 02:55:20 CEST

Original text of this message