company logo

Database types

In contrast to most relational databases, data on different levels are stored in different ODABA databases:

The System Database contains the schema definition for ODABA metadata, which is required for accessing metadata in a resource database. Since the system database is itself a metadata database, it is self-defining and does not need a higher level schema definition. The system database is delivered with the ODABA installation. The minimal schema is contained in ODABA binaries. An extended system model is delivered with the ode.sys database.

The Development or Resource Database provides application metadata. This includes data type definitions and methods (functions, forms, templates, ...), but also the definition of causalities, the connection between events (state transition) and reactions (methods). Any number of data databases can be used working with the same resource database.

Finally, the Data Database contains application data, which requires the database schema defined in the resource database for being accessed.

Developing an application means providing and maintaining application metadata (resources) in the resource database or in other sources (binaries, ASCII files, etc.). Running an application means providing and maintaining data in the data database.

The representation of data is the same on all levels. Thus, it is possible to use the same methods for accessing data, resources and system data, i.e. the data for a person can be accessed the same way as a data type definition for a Person or the data type definition for the (person's) data type definition. This makes it very simple to add model extensions to the system, e.g. for supporting the implementation of methods in Visual Basic classes.