company logo

Database schema

The concepts of ODABA are based on a detailed analysis of the human language. The human language has been analyzed mainly according to its main principles of reflecting reality, i.e. how human language is ordering facts, describing behavior and causalities.

  • Data Type - Human language reflects facts by categorizing them to types (such as person, employee...). The type principle is the base for representing facts and their behavior within the P1 database (relational databases). Moreover, ODABA supports conceptual collections and extended set relationships typical for P2 presentations (object model).
  • Method - ODABA supports expressing behavior as method. Besides standard operations provided by the system, developers can add methods on different levels. Although functions or programs are the most typical type of method implementations, ODABA supports a number of extended methods as templates, forms. A method in ODABA is an open term in the sense, that every kind of transformation from data into whatever is considered as method.
  • Causality - A causality describes the dependency between causes and consequences, e.g. as event and reactions. This allows defining processes as well as event-triggered actions. Thus, causality is the connection between an event and one or more methods to be executed (reactions), when the event "happens". An event is a (set of) state transitions, based on property, complex or system states.
  • Time - The temporal principle reflects the facts and their relation-ships including their histories to present the changes of facts. Time becomes part of the schema, when defining time events or when creating database or object versions.

These components can be found within the different sub models of the database schema model. Data type definitions are implemented in the object model. Methods are implemented in different ways in the functional model. Causalities are reflected within the dynamic model (event handling). The temporal principle, however, has not got a separate model and is defined implicitly.