Re: some information about anchor modeling

From: Eric <eric_at_deptj.eu>
Date: Sun, 22 Jul 2012 17:25:08 +0100
Message-ID: <slrnk0oab4.2o3.eric_at_teckel.deptj.eu>


On 2012-07-21, vldm10 <vldm10_at_yahoo.com> wrote:
> On Jul 19, 9:53?pm, Eric <e..._at_deptj.eu> wrote:
>> Suppose I am designing a database and I have decided (rightly or wrongly,
>> but I _have_ decided) to use a surrogate key for a table whose rows are
>> about some real-world object. We have to communicate with other people
>> about these real-world objects, so we suggest it would be easier for
>> all concerned if everyone used the same arbitrary numbers (i.e. our
>> surrogate key) to refer to each particular real-world object. In fact,
>> since we are a government department, we can tell them that they have to
>> use it. Oh, we seem to have just invented something very like a VIN!
>
> Note that if one uses the name of an identifier of an entity in a
> communication, then it does not mean that this one can identify this
> entity in the real world.

Not the name, the value!!! But no, it does not guarantee the ability to identify the real world entity, only that everyone is (apparently) talking about the same entity.

> Imagine that a Honda dealer has 2000 identical new Hondas, and that
> neither of them has a VIN number. In this situation, a database
> application that uses surrogate keys will not work at all. All the
> Hondas will have the same attributes and the unique surrogates.

No serious objection to that statement (except for English usage - "none" rather than "neither").

> This database will be a total confusion and a database disaster.
> This is a very clear example that surrogates are bad solution.

Only if you expect to use them directly to find the real-world entity.

> However, if I apply a database based on VIN numbers, then everything
> will be ok, and I do not need surrogate keys at all.

Unless the database contains "illegal" vehicles and is expected to do so.

> Note that many products have all the same intrinsic attributes. For
> this case, I introduced the law which is a generalization of Leibniz?s
> Law. (see my paper, Semantic Databases and Semantic Machines, section
> 5.6 at http://www.dbdesign11.com )

To some level of achievable accuracy. Which is why a database will only count the "identical" entities (usually those in some definable location).

>> > The VIN is an intrinsic property.
>>
>> No it is not. It is not even an acceptable candidate key. If you think
>> that it is, consider a database about car crime and insurance fraud.

> The VIN is an intrinsic property, you can see the surrogate on each
> car. The VIN is based on international standards. For example in US it
> is used by important institutions to identify individual motor
> vehicle.

A high-value vehicle stolen to order will have its identity changed, including the VIN. Of course the original VIN still technically refers to it, but how can you find out? The substitute VIN may or may not be a duplicate of some other. A cut-and-shut job made out of parts of two vehicles may inherit the VIN of one of them, or not, but this VIN is no longer valid. Are the rules for kit-cars and extensive modifications by legal owners adequate and adequately enforced?

So no, in general a VIN is not intrinsic, and therefore not a very good example to choose.

>> Are you trying to say that whoever makes something can assign it an
>> identifier? Of course they can, but that doesn't necessarily make it
>> intrinsic; painting or tattooing a number on something does not make
>> that number an intrinsic property of what would still be the same thing
>> without the number.

> If you are interested in intrinsic properties and the identification
> of attributes, then you can see my paper "Database design and
> data model founded on concept and knowledge constructs" at
> http://www.dbdesign11.com . In section 2, I introduce intrinsic
> properties and in section 3.3 identification of attribute is defined in
> (3.3.3).

I have not read this yet, I may do so at some point, but for the moment I do not see that it could make any difference to my main point:

Any identifier assigned to a natural or man-made entity (by anyone whatsoever) does not become an intrinsic property of the entity no matter how many times or where it is recorded on the entity. Either there will be a way for the entity to continue as the same entity if it is removed or altered, or removing it will destroy the entity in which case the identifier refers only to an entity that no longer exists. All such identifiers are merely the assigner's surrogate key that they choose to disseminate in some way.

Eric

-- 
ms fnd in a lbry
Received on Sun Jul 22 2012 - 18:25:08 CEST

Original text of this message