5 1 Entity Types

Visual LANSA Logical Modeler

5.1 Entity Types

An entity's type determines:

  • What type of relationships an entity may have with other entities and
  • if and how the entity will be implemented in the repository.

For example, a Conceptual Entity can only be used with Include relationships. Also, a Conceptual Entity is not implemented as a file in the repository.

Determining the correct entity type is very important to your model.

The Logical Modeler has the following types of entities:

Note: Abstractions are not entities. They are objects used to group entities.

Data Entity

A Data Entity stores information. It is the most commonly used type of entity. For example, a Customer is a data entity.

A Data Entity has very few relationship restrictions. It can have an identifying element. It is implemented as a file in the LANSA Repository.

Conceptual Entity

A Conceptual Entity has meaning to the user but does not store information. For example, Address or Date might be modeled as a Conceptual Entity.

A Conceptual Entity is restricted to being the target of an Include relationship. It cannot have an identifying element. It is implemented as a set of fields in the repository. It cannot have user views.

Variant Entity

A Variant Entity is similar to a Data Entity in that it stores information. It is used in situations where elements are dependant on the value of another element. For example, Manufactured Product and Supplied Product are variant entities used with the Product data entity.

A Variant Entity is initially restricted to be the target of a Variation relationship. However, once defined, it can be the subject of a Join relationship. It cannot be assigned its own identifying element as its key is identified by the variation relationship. It is implemented as a file in the LANSA Repository.

External Entity

An External Entity is a representation of an existing physical or logical file in the LANSA Repository. It can be used in relationships with Data and Variant entities in order to extend an existing database.

An External Entity can be the Parent entity in a Parent/Child relationship, the target entity in a Join relationship and the source entity in a Variation relationship. Its elements cannot be maintained.

Note that, during the Build process, the database file that corresponds to the External Entity is not modified in any way. However, Data and Variant entities that are related to the External Entity may have appropriate Access Routes, Logical Views and Referential Integrity Validation Rules created for them.