Show TOC

Object documentationDesigning a Data Model

 

Initially you need to decide per entity type whether to use a reuse area or to use MDG as the active area.

Using MDG as the active area does not require any additional steps to store the active data. You do not need to code a class that provides access to the reuse active area. However, it is more complicated to reuse any existing business logic, as you probably have to re-implement it. Additionally, as long as you do not want to keep the data accessible via MDG only, using MDG as the active area typically requires that you implement data replication, even for the local system.

As a consequence, the decision is mainly based on whether there is a reuse active area with potentially sophisticated business logic available that you want to reuse. Secondly, whether you want the active data to be directly available in the local system or whether you rather want to distribute it to the local system, similar as you would probably do it to any remote system.

You can define the active area to be used individually for every entity type in a data model. However, some restrictions apply. The following entity types must use MDG as the active area:

  • Entity types that are used to define a hierarchy type

  • Entity types with a validity setting “Edition”

  • Entity types with storage and use type 4 that have a leading relationship to an entity type using MDG as active area

If you want to use a reuse area, you need to analyze the structure of the respective database tables and derive from this structure all required elements of the MDG data model. In any case it is useful to have an Entity Relationship Diagram (ERD) of the model that you want to create in MDG.

We recommend to create an entity type in the data model for every entity in the ERD. MDG entity types can only introduce one key field, which is the assigned data element. If the modeled entity has multiple keys, you need to create additional entity types and use relationships between them. Alternatively, you can mark attributes of the entity type as additional key fields.