Re: dbdebunk 'Quote of Week' comment



x schrieb:
"Alexandr Savinov" <spam@xxxxxxxxxxxxxxxxxxx> wrote in message
news:430efd5d$1@xxxxxxxxxxxxxx

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.

You have only one serious flaw in your reasoning:

we need an element in our model that will denote an end-user

In this sense I find your approach to defining meaningfulness rather useful but unfortunately I do not know a formal theory that could deal with end-users as an integral part of the model. We can dras boxes, arrows, circles but it will not be a formal model.

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.com
.



Relevant Pages

  • Re: ADO SQL - Using text functions in Select statement
    ... > and totally meaningless. ... It has an internal check digit with a public algorithm, ... I'm setting up a database and need to choose the primary key ... an IDENTITY/autonumber column will work perfectly! ...
    (microsoft.public.excel.programming)
  • Re: joins
    ... Please read a book on data modeling and the ISO-11179 Standards. ... Let's do a clean up on schema first. ... (prod_type INTEGER NOT NULL PRIMARY KEY, ...
    (microsoft.public.sqlserver.programming)
  • Re: dbdebunk Quote of Week comment
    ... > we need an element in our model that will denote an end-user ... > althoug it is as important as data modeling itself. ... > from different tables - having one primary key is not enough). ... > Memory handle is really physical for an application program that uses ...
    (comp.databases.theory)
  • Identity modelling (was: dbdebunk Quote of Week comment)
    ... Identity modeling is a separate topic, a dual part for data modeling. ... Primary key may well be viewed as a physical identifier from the point of view of some higher level identification mechanism, say, global id. ... any new identification system is based on some lower level identification system with its scope and structure. ... We can model columns and object properties more or less successfully. ...
    (comp.databases.theory)
  • Re: basic primary key question
    ... Ignoring whether a primary key should be a number for the time being... ... So the first column (PersonID) has a width of 0 and therefore isn't displayed. ... meaningless to users or not. ... I know how to 'display' non primary key information ...
    (microsoft.public.access.tablesdbdesign)