What Edgar Codd did not solve in RM / T - the first part

From: vldm10 <vldm10_at_yahoo.com>
Date: Sun, 29 Jul 2018 15:16:23 -0700 (PDT)
Message-ID: <36bb078f-8189-4f6d-9270-4c6e8de65dc0_at_googlegroups.com>



I will explain this first part using my solution. Since my solution is the only solution that is good, then readers will find it much easier to figure out than the wrong solutions.

Simply said, my solution for the entities consists of the following parts: Identifier of the entity;
Identifier of the state of this entity;
One attribute of this entity;
The time since this attribute becomes valid in the database; The time since this value of this attribute stops being valid in the database.
This interval of time refers to the data in the computer's memory. Similarly, there is an interval of time for which this attribute is valid in the real world.

For each data in the database, the name of the person who entered this data into the DB is entered.
If the data is entered in DB by applying a procedure, then the name of that procedure in the DB is entered.
This way, for each piece of information, it is known who entered that data into the DB.

If any data from the entity is changed then the state of that entity has been changed. And that means that the identifier of the state of the entity has changed.

The main part of solving “temporal”, “historical” and other complex databases consists of two sub-steps:
1. Constructing an identifier of an entity or relationship. 2. Connecting all changes of states of one entity (or relationship) to the identifier of this entity (or relationship).

In my paper „Some ideas about a new Data Model“ from year 2005 which is presented on this user group on September 2005, I have introduced these two identifiers. In Section 1.1 I wrote: "... every entity has an attribute that is the Identifier of the entity or can provide identification of entity." Since this is an identifier, then it can not be a surrogate, it is the real key.
What the following words mean: "or can provide identification of the entity"? It means the following:
If we have international standards, such as a VIN or an ISBN number, we will use international standards for a simple key which will be the identifier of entities.
If we do not have standardized keys then we have to make those keys in the real world. For example, we can make it as a book in which all the keys are written. Or we can make it as a bank card. Or we can print the paper, such as the invoices with that identifier being printed. So the key must be verifiable in the real world and in the database.

The identifier of a state of an entity is not a surrogate key! This key is not an identifier of an entity. It is identifier of a state of an entity. A state is an abstract object of our mental activity.

We can conclude that this kind of data organization has solved the following fundamental things for the first time:

(i) With the introduction of the identifier of a state of the entity, we
understand that an object that changes over time remains the same object for us. So these two identifiers enable the powerful procedure.

(ii) We must change the definition of object and include in new definition
the states of objects.

(iii) It is necessary to define the state of the entity and the state of
relationship.

(iv) The identifier of an state of an entity together with the identifier
of the entity enables the semantic procedure that connects an abstract objects from a memory to the corresponding objects from the real world that is in certain situation(state).

Vladimir Odrljin Received on Mon Jul 30 2018 - 00:16:23 CEST

Original text of this message