Re: identifying entities across database updates (was: Is a function a relation?)

From: none <rp_at_raampje.>
Date: 04 Aug 2009 22:28:16 GMT
Message-ID: <4a78b600$0$10051$703f8584_at_news.kpn.nl>


(looks like this never went out. sorry)

Walter Mitty wrote:

>Among Hindu mystics, the division of the universe into objects is itself an
>illusion. It might be considered "the first great blunder" of someone who
>would understand ultimate reality.

I am neither a Hindu nor a mystic. I don't think objects are illusions, but I do think that they are, to some extent, constructs of our minds and of our languages, and that the exact identification of object is to some extent a matter of convention. Not what the objects consist of, but how we categorize and divide it up into objects. Most of the time, this choice is obvious and does not require much explanation; but not always and not usually when you regard every possible detail.

E.g. consider an entity 'Person'. By and large it's clear what we mean by a person, and how to identify a person, without having to explain; but there are unclear border cases. E.g. there may be disagreement on when exactly a Person comes into being, or when a Person ceases to exist, and in some cases we may want to categorize persons as one or two depending on the purpose (e.g. Siamese twins among soccer players).

>http://en.wikipedia.org/wiki/Maya_(illusion)

I don't understand most of that article. Does it have any implications for conceptual modelling?

>Those of us who use databases for practical purposes, or who build databases
>for others to use, do not think like Hindu mystics. We accept subject
>matter entities as having real existence, and real identity.

Entities can be described in terms of observed and predicted regularities in our potential and actual observations of the world. THis is not Hindu mysticism, but roughly what C.S. Peirce said, if I recall correctly. Existence is real; identity is real, but relative. There is nothing deep or mystical about this.

>We routinely
>refer to the assertions made inside a database as "facts" rather than
>"opinions". It helps us get our job done, or at least gives us the
>comforting illusion that we are getting our job done. We even think of some
>keys as being "natural" and being subject to discovery rather than
>invention.

But why? We call these assertions "facts" because the usefulness of the database fundamentally depends on agreement between its users on how the elements in the database correspond to observations that can be made in the world, and on the outcomes of those observations. We call the keys "natural" because their values systematically correspond to the outcome of (potential) observations in the world. These are fundamental prerequisites to the usefulness of relational modelling; but the identification of objects isn't. We may just as well regard it as *consequence* of conceptual modelling: e.g. define an object as whatever corresponds to a tuple in a 6NF relation. But that isn't a complete definition.

I do agree with Brian that in some conceptual models, we can usefully identify objects across key changes: the key can be unstable, in principle.

>The fact that all of this is subjective rather than objective usually
>surfaces, in one way or another, during the requirements analysis phase of a
>database project. In interviews with subject matter experts and users of
>the data, you often hear people exclaim something like this: "Don't listen
>to all those other people. They're all idiots. I'm going to tell you how
>it really works." And that's only when you're building a database for
>actual users.

If it wasn't, we could build a universal database schema, that every database could simply use the relevant part of.

-- 
Reinier
Received on Wed Aug 05 2009 - 00:28:16 CEST

Original text of this message