The logical data model consists mainly of logical entities and these are modeled as classes based on UML. A class in UML consists of:
- A class name and explanation
- Attributes of which we at least keep track of the name, the data type and the cardinality (the datatype can also be a different class, an enumeration or an interface)
- The associations, these can be all UML allowed associations but in the base they are the normal associations, specialization and aggregation (be careful with too many association types in data modeling)
In addition to the logical entities, enumerations can be used for the use of domains with attributes. In that case, the data type of the attribute is the enumeration.
Complex data types can be used for complex models. These are explained in more detail in the example and include a breakdown of generic structures for a simpler manageable model