An entity type is a type of object that represents a set of concepts or things that have a separate and distinct existence in the real world. Entity types are used to represent the objects that the system being modeled is concerned with, such as people, organizations, products, or locations.
Each entity type is defined by a set of attributes that describe its properties, as well as a set of roles that describe its relationships with other entity types, value types or objectified fact types. For example, a "Person" entity type might have attributes such as "Name," "Date Of Birth," and "Address," and play roles in Fact Types such as "Person is employee of Company" or "Person is spouse of Person" that describe the person's relationships with other entities.
Entity types are represented in ORM diagrams by using a rectangular box, with the name of the entity type written inside. The attributes and roles associated with the entity type are also shown in the diagram, usually using a set of small boxes connected to the main entity box.
The best way to think of the Entity Types of ORM is to relate them to the use of nouns in everyday language. In general, whatever you would normally associate as being a noun, (e.g. ‘Person’), will translate to an Entity Type within ORM. As nouns are used in natural language, Entity Types are designed in ORM to represent a broad set of things or objects . In the same way as the word ‘Person’ does not represent any one person, an Entity Type represents a broad class of individual Entities.
NB In Object-Role Modeling we speak of sets of individuals rather than a Class of individuals.
The instances of Entity Types can be thought of as things that are identified by their relationship to other things. For instance, any one particular person may be identified by their first and last names.
It is quite easy to see that both Value Types and Entity Types are labels that are given to things. Value Types and Entity Types are not the actual ‘things’ themselves.
1.1 How are Entity Types written in ORM?
As of ORMv2, Entity Types are drawn as rectangular boxes with rounded corners (figure 3.0 below).
Figure 3.0 An Entity Type in ORM.
There are three parts to the symbolic representation of an Entity.
1. Every Entity Type has the enclosing rectangle with rounded corners (see Figure 3.0 above);
2. Every Entity Type has a Name (e.g. ‘Person’ in Figure 3.0); and
3. Entity Type has a Reference Mode (e.g. ‘(PersonId)’ in Figure 3.0).
The rectangular symbol, drawn with a solid line , has no particular significance other than to identify the symbol as an Entity Type .
Take the FactEngine online training course to learn more about Entity Types in Object-Role Modeling: