Re: The original version
Date: Wed, 4 Aug 2010 15:27:23 -0700 (PDT)
Message-ID: <aba09c4c-7aed-4b27-9b45-9065f0ab3d38_at_l20g2000yqm.googlegroups.com>
My solution marked by (a) in this thread and posted on May 26th, solves this relation and gives a decomposition into binary structures. Of course, many other things need to be considered too. My solution (a) uses Anchor Modeling, but in Anchor Modeling the identifier is named the “ technicalyly generated surrogate key" or sometimes “surrogate key”. The terms “anchor” and “surrogate key” are incorrect and are a results of a poor understanding of the process of identifying and the nature of the identifier.
In database design we can roughly observe three situations related to
identifiers:
1. We use identifiers in db objects, but we do not use the same
identifier for corresponding objects from the real world. Some call
this identifier the “surrogate key”, they think that all things are
“unique acts of nature”. However, the majority of entities that
databases use are made by people, not nature.
2. We have an identifier which is used both for real objects and for
corresponding objects in the database. This is used in standards that
are often defined on an international level, for instance VIN numbers.
3. We have an identifier which is used for objects from the real
world, but is not used in the database. This is used when we identify
real entities by identifiers rather than by attributes or something
else.
Aside from these three ways of identifying, it is common to identify an entity through attributes. An identifier is something by which we are able to identify something that can be an entity, a relationship, database objects, a state of an entity, an element of a set or something else.
In my paper, Section 5 is devoted to identification. This process is
partially explained in other sections of the paper also;
identification with the help of concepts, identification of an
attribute (determined in (3.3.3)), identification of abstract objects,
etc.
Therefore, this has to do with identifications, not with surrogates.
The authors state that Anchor Modeling models mostly binary tables. But Hatt (A,C,T) has three attributes because the authors defined A, C, T as attributes. The authors claim they use older techniques in Anchor Modeling. They state that they successfully use and join techniques that have been in existence for some time – like 6NF and “surrogate key”.
I will briefly observe such techniques that have to do with binary
structures. For binary relations we need a relation in the form (K,A),
where K is the key and A is an attribute. E. Codd tried to solve this
problem using a “surrogate key” He "anticipated" that any future
solution must include a key that is simple. If the key were to be
composite, it would make no sense to have a solution with one
attribute A and a key with many attributes.
6NF has the opposite approach – there is only one attribute A, but the
key K is composite. As far as I know, the authors of 6NF haven’t given
any solutions that explain how to reach 6NF.
( See “technique” for 6NF in http://www.anchormodeling.com/tiedostot/6nf.pdf
)
Both approaches are unsuccessful regarding the decomposition into
binary relations.
Now, the authors of Anchor Modeling use my solution (a) to “bridge”
the two (6NF and Codd's) “approaches” !
I must say immediately that my solution (a) does not depend on E. Codd’s approach nor that of 6NF. My solution is much broader and is done with concepts. Through the application of knowledge this solution uses a completely new model and new semantics. I introduce a new normal form which enables well constructed database objects from the beginning. In contrast, Anchor Modeling (and the current realational db theory) allows the construction of badly designed relations that must be later fixed using up to seven normal forms.
Vladimir Odrljin Received on Thu Aug 05 2010 - 00:27:23 CEST