Principles of storing data objects in a database

stored As object data

Most of data services provide relational storage. Object data Flexberry ORM stores the following:

  • Each class is a separate table.
  • Each attribute is a separate field in the table.
  • Artisans of communication — foreign keys table of the inner class.
  • Delaloye links — foreign key dyelovoi table on the aggregator (cap).
  • Inherits class — separate from the ancestor table.
  • If the artisan class is the heir, then his table should be a foreign key in the table of the inner class.
  • Each inherited table stores all attributes of all ancestors. Thus, one instance of the class corresponds to one record in one table (why is it done so described in the article Inheritance).

Naming when storing object data

All elements of the object model stored in the repository under the specified name. For example, since relational storage each class is a separate table, each property is a separate field, the names of storage is the table names, fields.

By default, the naming is as follows:

  • The name of the storage object data type name class data.
  • The name of the store object property data property name in the class data.
  • The name of the storage artisan properties is the property name in the class data [number].
  • Communication from dyelovoi table on the aggregator — similar Masterova property: the property name in the class data [number].

  • The name of the store the primary keyprimaryKey.
  • When you inherit the names of foreign keys are given the following: [_M<ПорядкНомерВTypeUsage>.ПорядкНомерВTypeUsage» «— begins with 0](fo_type-usage.html) (this naming can be changed).

The naming can be changed, what are the attributes of storage:

  • ClassStorage — should be attributed to the data class, specifying the required name of the store.
  • PrimaryKeyStorage — similar to a primary key assigned to the data class.
  • PropertyStorage — the same for all properties (private, artisans), attributed to the appropriate property.