Re: some information about anchor modeling

From: vldm10 <vldm10_at_yahoo.com>
Date: Sat, 21 Dec 2013 07:03:28 -0800 (PST)
Message-ID: <be7db02d-5928-4c24-9f6e-fac7924caaed_at_googlegroups.com>


Hi Derek,

In this post I will describe the main steps in the database design in my data model, so that someone can get picture about main things in my solution. My data model is completely generalization of E / R model, and it represents the entities in a completely different way than it was done in the E / RM.

I accept Godel's philosophy that the world is discrete. Kurt G๖del has described this philosophy in 1944, as follows: "By the theory of simple types I mean the doctrine Which says that the object of thought (or, in another interpretation, the symbolic expressions) are divided into types, namely: individuals, properties of individuals, relations between individuals, properties of such relations, etc."
(I am aware that many of the scientists worked on entities prior to G๖del.
Actually here I used the name Godel, as a symbol of authority.)

I will now give a definition of the entity. Note that P. Chen was defined the entity as follows: "An entity is a "thing" which can be distinctly identified." See section 2.2, in Chen's paper about the E / RM. I use Frege's definition of the object, because the term "thing" is not defined in Chen's definition. Note also that the relationship "can be distinctly identified."

Frege defines the object as something that can be the referent for a name. According to Frege, a proper name has "sense" and "referent". The referent of a proper name is the object it denotes. The sense of a proper name is related to the meaning. If you noticed, I wrote in my previous post about the sense and the referent of the predicates.

Step1. The entities are constructed only of intrinsic properties. Step2. Construction entity is determined by applying the Leibniz's Law. If it is not possible to apply Leibniz's Law, then I apply the "General law that determining the difference between entities." (see my paper Semantic databases and semantic machines, section 5.6)
Step3. In this step, the "Simple Form" should be applied and the decomposition of the entity into atomic structures should be done. I introduced Simple Form on May 2006, at http://www.dbdesign10.com



Speaking simplified, Simple Form can be rewritten as follows:R (K, A1, A2,…, An) = R1 (K, A1) join R2 (K, A2) join…join Rn (K, An) iff

(i) Key K is simple
(ii) A1, A2,…,An are mutually independent attributes



Obviously Simple Form can be presented in E/RM. To do this, we can use entities instead of the relations and we can use relationships instead of the (equi) joins.

Regarding the key K of Simple Form, the following cases are possible:  (i) The key K can take unique values from the corresponding domains. In this

      case we have the surrogate key.
(ii) The key K can take the unique values that are defined as international

      Industry-standard or locally-defined standard. Such a key is usually 
      determined by the above-mentioned "General law that determining the 
      difference between entities." Note that this key is introduced as an 
      attribute of the corresponding entity.

(iii) The key K can take values that are obtained by concatenation of the values
of attributes. For more details about this case see my paper "Semantic databases and Semantic machines ", section 5.1 (iii). Note that in this case the key K is simple.
(iv) In my data model, the attributes are mutually independent. So the key K
can be "natural key" that is, K is an "all-attributes key". This case has a bad characteristic. The key K in general can have, say ten attributes. Now the "atomic structure" has key K (with ten attributes) and one attribute (which is outside the key). Of course this kind of atomic structure does not look very "atomic". Note that in this case, the key K is not simple, and does not meet the conditions for Simple Form. ===========================================
Note that my Simple Form is general and theoretical result which determines completely the surrogate key. So my paper gives general conditions related to the surrogate key. Anchor Modeling surrogates, OO surrogates and Codd’s RM/T surrogates are just special cases of Simple form.
 

The first three steps enable the construction of entity and construction of Simple form. After these three steps, we can apply the other things that are related to the entity. For example, we can analyze the constraints on the level of atomic structure.

Domains should be constructed in compliance with section 5 in my paper Semantic databases and semantic machines. Domains are associated with the process of identification.
Step4. In this step the states of entities (relationships) should be introduced. The concept of a state of an entity has the following schema: ConceptStateName (P, E, A1… An, Kp1, … ,Knr, Dp1,…,Dns) where P is the concept of the identifier of a state of the entity (or relationship); E is the concept of the identifier of the entity; A1,…,An are concepts of the properties of an entity (or relationship); Each property, including E and P, can have different sets of knowledge K associated to them and defined in 3.6 – 3.9. Thus:

P has knowledge Kp1, Kp2… Kpi; 
E has knowledge Ke1, Ke2… Kej; 
A1 has knowledge K11, K12…K1k; 

….
An has knowledge Kn1, Kn2… Knr.
Knowledge Dp1,…,Dns is defined in 3.8.

The schema of a concept of a state can be represented by schemas of the following binary concepts: (P, E), (P, A1)… (P, An) to which we associate the corresponding knowledge and get the following concepts:

(i) Schemas of K-concepts;

Ck1 (P,A1, K11,…,K1k,D1,…,D1m);
…
Ckn (P, An, Kn1,…,Knr, Dn1,…,Dnq);

(ii) Schema of the E-concept

Ce (P, E, Kp1,…,Kpi, Dp1,…,Dps);



Here in Step4, many questions about concepts and extensions can be raised. I will emphasize only one: my concepts are constructed from knowledge, not from properties.
Knowledge in my data model is defined precisely and in a new way. Knowledge is based on atomic facts and knowledge is structured. For example in the above schema of the concept of a state of an entity, there is knowledge about the entity, knowledge about attributes and knowledge about the data. If one wants to add some additional structural knowledge (or subtract an existing) he can do it on formal way. So, there are no undefined terms in my data model, as it is "metadata".
The approach to concepts that uses knowledge, enables that many problems can be solved. For example H. Putnam's claim that green lemon is a lemon, can be explain by using knowledge.
These concepts are denoted by the corresponding predicates.

Anchor modeling is a kind of conceptual modeling. The paper Anchor Modeling ER won the 2009 Best Paper Award at the 28th International Conference on Conceptual Modeling.
In this paper, the concepts are not even mentioned. The main structure is defined as table:
Def 2 (Anchor). An anchor A (C) is a table with one column ... In this award-winning paper, nothing was written about the "metadata". In section 2, the authors wrote: "Although important, the metadata is not discussed further since its use does not differ from that of other modeling techniques." At this point, Step4, I presented the relationship between the "metadata" and concepts.

Step5. I represent my db structures by schemes. I introduced simple schema language. The main reason why I use schemes, it is that in this case can be applied Model Theory. In my opinion Model Theory is powerful mathematical tool. The Model Theory for my data model is very good. For example, an interpretation I1 satisfies those sentences that are related to the state of an entity. This means that the interpretation I1 satisfies a sentence (say S1), which refers to the state of the entity. If the state of the entity is changed, then the interpretation I1 no longer satisfies sentences related to the new state.

Obviously this model much more accurately describes the sentences about the real world, than models that do not maintain the history.

Step6. My data model requires only two, very important procedures. One procedure creates a new data in the database, I call this procedure "Creator." The second procedure is used when data from the database ceases to be valid, I call this procedure "Closer." For all operations with data in my data model, only these procedures are used.



In Step3 and Step4 decomposition entities and the state of the entities in the atomic data structures is done.

Vladimir Odrljin Received on Sat Dec 21 2013 - 16:03:28 CET

Original text of this message