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

From: VC <boston103_at_hotmail.com>
Date: Sat, 2 Jul 2005 09:46:59 -0400
Message-ID: <MfidneHrxqJPB1vfRVn-oQ_at_comcast.com>


"Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message news:NYqxe.135226$KN7.7252062_at_phobos.telenet-ops.be...
> VC wrote:

>> Hi,
>>
>> [...]
>> "Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message 
>> news:IVhxe.135039$l56.6861917_at_phobos.telenet-ops.be...
>>
>>>Jon Heggland wrote:
>>>
>>>>Anyway, there is one thing that is bugging me when I read articles about 
>>>>object data models like Calvanese/Lenzerini and Van den Bussche / 
>>>>Paredaens. If objects are just identity points, and the properties of 
>>>>objects are other objects, where do actual data values enter into the 
>>>>picture?
>>>
>>>Data values are special objects that have one or more representations 
>>>associated with them by which they are identified.
>>
>> What's that supposed to mean ?  'Value' is just an element of a domain 
>> (data type), like, say,   '1' is_a_member_of  Integer.  Are you proposing 
>> a new definition of 'value' ?
>

> Not really, I'm restricting it slightly. I'm using the one that says that
> a value is something that (1) has one or more representations, i.e., can
> be encoded in memory and (2) is identified by that encoding in the sense
> that some equivalence relation over all possible representations is
> defined and each value corresponds to an equivalence class defined by it.

(1) implies that you are concerned with implementation (the way the value is encoded in memory).
(2) is the consequence of (1).

I honestly do not undestand why one would prefer the combination of (1) and (2) to the definition of the value as just an element of some set.

In FOL, you can define a vocabulary ('0', 'S', '+', 'x1', ... etc.) built out of strings of symbols. Then, you can say value('0') = 0 where value is a function mapping a term to a natural number. Further, one can define value('S' t) = value(t) + 1, if t is a term, and so forth. It's all clear and well known. But, apparently this is not not what you are doing with (1) and (2). What useful purpose does the regress to implementation serve when you introduce (1) and (2) ? Why not reason directly in terms of sets (domains/aka data types) ?

>>>Like LOTs and NOLOTs in NIAM.
>>
>> I looked briefly at LOT/NOLOT.  Did not see much of [formal] defonitions 
>> though.  Could you please provide a reference or reproduce one ?
>

> Lexical objects are representations of values. Which is slightly different
> from the definition above because there is equivalence relation defined.

Why do we care about representations (implementation) in the first place ? Maybe I am missing something important here.

>
>> [It's not idle curiosity on my part (as was with the 'return' word).  I 
>> am genuinely interested what the current formalism for the 
>> object/network/xml data model is.]
>

> XML doesn't belong in that row, it is an entirely different beast.

How is it different ? Is it not just a notation for trees (with a lot of other baggage admittedly) ? When one talks about an 'XML database', is it not a hierarchical data structure (or probably network structure) one has in mind ?
>
> -- Jan Hidders
Received on Sat Jul 02 2005 - 15:46:59 CEST

Original text of this message