company logo

persistence type

The persistence type defines the life time of a data item and the way, a data item is stored and accessible / visible.

  • persistent - persistent data items are stored in a database and exists until being explicitly deleted. In general, persistent data items may be accessed from any number of processes / applications.
  • temporary (temp) - temporary data items are stored in temporary databases, which are accessible for the owning process or application. Temporary data items disappear, when the process / application is stopped or when data items are explicitly deleted.
  • transient (trans) - transient data items exist in memory, only.
  • virtual - virtual collections are not stored as such but calculated instance by instance when being accessed, i.e. virtual collections are nor transient collections as such, but rather an access method providing transient instances. Virtual collections are typically used in views or view operations.

More specific persistence types are defined with the activity state of a data item in a process or application. Thus process depending persistence types (temporary, transient) may depend on the activity state if the owning data item (bounded temporary or transient). When this is not the case, temporary or transient data items are considered as permanent within the process / application.

  • permanent (perm) - permanent transient or temporary data items exist as long as the process is running or until they are explicitly deleted.
  • bounded (bound) - bounded transient or temporary data items exist as long as the owning data item is selected in the application (activity state). Deselecting the owning data item automatically deletes the bounded data item(s). Re-selecting the owning item may require recreating bounded data items.

Typical data items are properties (P) and instances (I). Instances consist of properties and properties consist of instances. Instances always own their properties, but properties may (O) or may not own instances. Considering properties and instances, data items having a determined persistence type may only refer to data items with restricted persistence types:


data item \ referenced

persistent

perm temp

bound temp

perm trans

bound trans

persistent

P I(O)

-

P

-

P

perm temp

I

P I(O)

P

-

P

bound temp

I

I

P I(O)

-

P

perm trans

I

I

I

P I(O)

P

bound trans

I

I

I

I

P I(O)

The persistence type of a data item is not completely part of the data model definition, because the same data item definition (e.g. complex data type) may apply on a persistent instance, but also on a temporary or transient instance.