La logique informatique
(selon les travaux de J.D WARNIER)
My thoughts about the primary logic study, of data sets for a defined system !
There are two ways to approach the problem of organizing the data of a computer system:
1 °) Use his common sense,
2 °) to use the pure mathematical logic,
Let's see how each of these two steps can lead us to define and organize the files of our database.
Let's first look at the first solution :
Use his common sense: this is actually the solution used by 99% of computer scientists (maybe more ..), it consists of creating the files of our database, as and when we discover storing data that we need to get the desired outputs from our computer system.
This approach is by far the fastest, as one of the IT managers that I knew said, as soon as we speak "methods": "Gentlemen, we must be pragmatic !".
However, there is a problem because the files created are in a limited repository, that of the current project and not at the repository of the company, which has the effect of encouraging duplicates. In the second place, the files thus created are most often not accompanied by a precise definition (in comprehension), which also favors the storage of parasitic data over time (You know the codes to define different types of records in the same file!, fields filled with blank or zero to indicate that it is nothing etc ....).
In the end, over time, the database or databases usually become unclear and reserved for insiders who can maintain them, and of course the day comes when the decision is made to rebuild it.
In the end, this is very expensive for the company.
Now let's look at the second solution :
The mathematical logic.
This solution consists of defining (for a well-defined repository (the company or any management unit)) mathematical sets that will contain our data and this, without we still having knowledge the data to store in our database, but only by using an approach or method (no matter the term) that will allow you to achieve such a result.
We will of course have taken care to define them by understanding, ie we will have listed all the characteristics or properties that must hold any element to belong to the set.
This is very important when studying mathematical sets (logical primary files) it is because they respond de facto to two simple mathematical laws :
- All the records (image of an object of the real world) have the same format otherwise, all the items (part of image of the object) must correspond in a bijection.
- When two sets are related, this match must be a mathematical application (any element of the set taken as a starting set must match one and only one element in the set of arrival).
Provided that these two laws are respected, the database is mathematically perfect.
would not it be a wonderful world ?, imagine :
On the one hand I have all the sets (logical files) of my database, it remains only to store the necessary data in the corresponding sets.