A newer version of this documentation is available.

View Latest

Logical data modeling

The logical data modeling phase focuses on describing your entities and relationships. Logical data modeling is done independently of the requirements and facilities of the underlying database platform.

At a high level, the outcome of this phase is a set of entities (objects) and their attributes that are central to your application’s objectives, as well as a description of the relationships between these entities. For example, entities in an aerospace application might be "satellite", "module" and "instrument," where their relationships might be "satellites carry many modules, which in turn are made up of many instruments".

Lets look at some of the key definitions you need from your logical data modeling exercise:

  • Entity keys: Each entity instance is identified by a unique key. The unique key can be a composite of multiple attributes or a surrogate key generated using a counter or a UUID generator. Composite or compound keys can be utilized to represent immutable properties and efficient processing without retrieving values. The key can be used to reference the entity instance from other entities for representing relationships.

  • Entity attributes: Attributes can be any of the basic data types such as string, numeric, or Boolean, or they can be an array of these types. For example, a satellite might define a number of simple attributes such as name and weight, as well as a complex attribute called launch which in turn contains the attributes launch-date and launch-site.

  • Entity relationships: Entities can have 1-to-1, 1-to-many, or many-to-many relationships. For example, "a satellite has many modules" is a 1-to-many relationship.

You can find various methods of data modeling at https://en.wikipedia.org/wiki/Data_modeling.