Re: dbdebunk 'Quote of Week' comment
Date: Mon, 29 Aug 2005 12:33:42 +0200
Message-ID: <4312e49d$1_at_news.fhg.de>
x schrieb:
> "Alexandr Savinov" <spam_at_conceptoriented.com> wrote in message
> news:430efd5d$1_at_news.fhg.de...
>
>>x schrieb: >> >>>This means that there must be a one to one mapping between the generated
>
> key
>
>>>and some key with a meaning for the end user. Therefore that meaningless >>>primary key is a pointer. But one of the goals of the relational model
>
> is to
>
>>>eliminate pointers from the data model.
>
>
>>What is the difference between meaningless and meaningful pointer?
>
>
> If the key is meaningful for the end-user, it is not a pointer.
>
>
>>I think the model itself does not know anything about the meaning of the >>pointers/keys it uses. In this sense the question about the meaning of >>pointers/keys relates to data modeling in general rather than to the RM.
>
>
>>In other words, the question is if we should choose meaningful or >>meaningless identifiers for our entites.
>
>
> If they are meaningless, they are not identifiers.
>
>
>>>Other goal is to give the end user direct access to data.
>
>
>>Any access is indirect (by definition). By direct access we normally >>mean some lower level mechanism of access w.r.t. this level. >>(Absolutely) direct access does not exist just like instant interaction >>does not exist. Possibly you mean an illusion of direct access like in >>OOP where we manipulate object like if they were directly accessible.
>
>
> Direct access as in access to data by standard tools, not by specialized
> applications.
In general I think that we lack information on "identtity modeling" althoug it is as important as data modeling itself. Identity modeling is a separate topic, a dual part for data modeling. In other words, we can model identity ignoring object properties. And it may well be rather complex model. It will involve entities without properties - only identities. The following properties of identity make this task rather difficult:
- Identity is distributed among many entites. It can be hierarchical. For example, an element of categorization might have several segments each specifying relative position. A fully qualified identifier then is composed of several identifiers (for example, several primary keys taken from different tables - having one primary key is not enough).
- Identity cannot be considered without its scope. For example, a physical address is retricted by the scope of one computer, a primary key might be restricted by one database etc.
- Logical/physical is a relative characterization rather than absolute. Memory handle is really physical for an application program that uses it, but it is logical for operating system w.r.t. to absolute offsets in physical memory (offset may change while memory handle does not change). In this sense all those disputes about lgoical/physical are meaningless without specifying the context. Primary key may well be viewed as a physical identifier from the point of view of some higher level identification mechanism, say, global id. This means that global id is permanent while primary key it substitues may change.
- Any identifier is based on some environemnt that provides a coordinate system that it uses to produce its own identifiers. In other words, any new identification system is based on some lower level identification system (environemtn or context) with its scope and structure.
Currently no one model provides anything that would deal with the topic of identity modeling. We can model columns and object properties more or less successfully. But another side is still in darkness. We have tools to implement identification mechanisms ourselves but we do not have a theory for that.
-- http://conceptoriented.comReceived on Mon Aug 29 2005 - 12:33:42 CEST