Chapter 10
A different way of looking at databases
Growing into a space
A conventional database design approach will be to create a formatted space to suit algorithms that will be used to sort, search and form relationships between the data items. A human database designer will work out what the categories and sub categories of the formatted areas should be, so that data and information can be inserted into places where the algorithms are designed to expect it.
A living database cannot be constructed in this way because the initial assumption would be that no one has any idea at the start as to what kind of information the living database would be dealing with, let alone knowing all the categories through several levels of subdivision.
My own approach to the construction of a living database was to first create an empty list of twenty-six lines each of the twenty six lines being identified by the letters of the alphabet: A to Z. This then became the template for the formatting of the entire living database.
When any line is clicked upon, it will either point to a particular area of the formatted space described by the line, or, present another different but identically looking list of twenty-six lines lines identified by the letters A to Z. These line can then be used as subdivisions of the topic described by the line that has been clicked on.
Presenting new lists of lines when categories need to be sub divided allows the database to expand at a second level to a total of 26 times 26, equalling 676 lines. Clicking on any of these 676 lines can present yet another different but identical list of twenty-six lines: allowing a total number of lines at this third level of 26 times 26 times 26, equalling 17,576 lines. Extending this to five levels would allow a total of 11,881,376 lines: creating a structure that can format any space into nearly twelve million different possible topic areas.
Of course, it is extremely unlikely that any area of knowledge would need twelve million categories, but, that is not the point. The idea is that this formatting technique allows ample room in which to expand the content of a living database in many different directions according to the most appropriate way to sub divide it up.
For example, one level may use only two or three of its possible twenty-six sub categories. Many sub categories may not extend to the full five levels. However, with such a large possible space in which the content can extend, the content has the freedom to grow to any size and shape of tree like structure that conveniently divides up the total subject matter. Figure 10.1 illustrates a typical tree like structure expanding into a formatted space from a first level that uses only four of the possible 26 categories available at that starting level.
Figure 10.1
A living database where sub division of categories are creating a tree like structure within a formatted space. The circled categories are those that are sub divided. The others are pointers to particular areas in the space which contain information (or people)
Figure 10.1 shows a database consisting of just four categories at level one. Each of these sub divide. Some of these sub divisions divide several times, creating new levels where at each there might be more sub divisions. Category "A" of the first level through the route of sub divisions "A,A,A, A" points to seven sub divisions at level five.
From this figure, it is easy to see how billions of possible sub division arrangements can be grown in this formatted space, which has twenty-six possible sub divisions at every branch at every level.
The advantage of this system is its elegant simplicity. Any tree like structure that might grow as a result of adding and subdividing categories of the content will be constructed of multiples of exactly the same simple template of twenty-six lines. Using an object oriented environment that can use a templates to create components on demand, there will be no need to create these lists until they are actually needed.
It might seem that there would be a problem in addressing or trying to locate any particular area in a space containing up to 12 million of areas. However, the modular nature of the formatting of the total space allows an elegantly simple solution to this problem. Each of the areas can be described by the route taken to reach the area from the first level.
Addressing any of the twelve million separate possible areas in this space requires a maximum of five letters: the route description from the first level. For example an area at level five in this twelve million area space might be described as "CKRAY". This would indicate that category "C" was chosen at the first level, category "K" chosen at the second, category "R" chosen at the third, category "A" chosen at the fourth and category "Y" chosen at the fifth. This address would identify one particular area out the the possible total of 12 million.
If this formatting scheme were used to describe areas where people could meet to discuss a particular topic, this simple addressing system would not only define a particular place to meet to discuss one, out of a possible 12 million topics, it would also describe how anyone could reach that meeting place to insert their presence and to find out who else was there.
With such a simple addressing system, it is possible to string several addresses together to describe being at several meeting places simultaneously. It is also a convenient form of addressing to include in the construction of a bot, so that it knows what places to visit on behalf of its owner.
Notice also that anyone can find a particular topic that interests them by making selections at each level: a maximum of five decision points. This is best explained with an example.