Definition and platform selection

The topic of research is quite controversial. On the one hand the term of database supposes some organized collection of data, therefore database shall have some structure otherwise it is not organized, and therefore it is not database, as it denies definition of the term.

On the other hand the topic doesn’t deny structure as an organization of data. But the goal is to make it more flexible. Flexible as much as it is possible.

What is “free structure”? Are not “free” and “structure” mutually exclusive terms? No. An explanation is that free structure of data allows eliminating of strict basic principle of operations with data as explicit separation into levels: meta-data as a structure, and data on elementary level.

Consider different data models. The simplest database model is “key-value”. It provides minimum set of database operations including selection elements data by key, and adding, modifying and deletion of data elements. Data are stored in value part, and the structure of data is not defined. Other words it can have any structure. But we cannot qualify “key-value” database as appropriate model for “free structured database”. It is because on basic level the structure defined strictly: we cannot specify key as an element of value other than copy key to value and vice versa.

Other inconvenient thing is strict limitation in data operations. The getting related element of data requires additional data operation.

Relational model of database provides much more possibilities in operating with data. However, with regard to database structure, this also implies significant limitations. Standard language of relational model SQL separates DML (Data Manipulation Language) – sub-set of SQL for data operation and DDL (Data Definition Language) – sub-set of SQL for structure data definition.

It means that processes of data structuring and data processing are separated. But on the level of relational databases it is possible to merge those two operation types, and to make super-structure within database that will fit describer requirements, in particular:

  • be flexible,
  • be managed and be operated by the same set of commands: DML (select, insert, update and delete) commands will be also applied to data structure (besides elementary data).
  • Data structures will not be stored in separate area,
  • Data structures will not be build specific sub-structure (for example, part of data storage with some category)
  • Data can be turn from elementary data to structuring data (meta-data) and vice versa.

Simultaneously Free Data Structure assumes that each data element can have individual data structure including properties. In the contrast with Free Data Structure, Relational Data Model based on table structures. In details table structure in Relational Data Model has very specific form. Columns (attributes) included in Primary key of the table uniquely identify some object. All other fields are properties of the object. Relations between tables can be considered as relations of different types: sub-properties, equal relation, and derivative relation (for example, double obedience object).

Both Relational Model and Free Structure model approaches are not opposite. An approach of Relational Model is much more uniformed: set of properties is fixed. Simultaneously an object identification is not fixed: the use of surrogate identifier is not a rule (more over it was not recommended in original approach to database design). Due to the unification of properties in the view of tables, Relational Model provides very powerful and rich operations with data.

In the terms of properties it is possible to state that Free Structured Model can be transformed to Relational data model, and vice versa. Also the combination of two models is possible: Relational model describes fixed properties, and Free Structured model describes additional properties (sparse properties).

Aim of current research is not task of mutual data transformation among different data models. But it is how to create technical realization of Free Structured model in currently presented instruments. All existing Database Management Systems are based on some specific data model. Therefore Free Structured data model shall be incorporated or wrapped up into other data model. It means that this task refers to data transformation between these data models. In broad sense this tasks is associated to computability dilemma (see https://en.wikipedia.org/wiki/Computable_function).

As Relational model separates operations with data structure from operations with data, strategy of Free Structured database wrapping up is the following:

  • Define general structure of FSDB in RDB,
  • All operations with data structures of FSDB are realized by DML (select, insert, update, delete).