CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
About conceptual models and ER diagrams

Definition

A conceptual model consists of:

  • entities: the objects about which we maintain information.
  • relationships between entities.
  • attributes: properties of entities or relationships.

Relationships are, most of the times, binary, that is they involve two entities. Ternary (with three entities) or, more generally, n-ary relationships (with n entities) are less frequently used.

👉 In the remainder of this page, we only consider binary relationships.

Example

Consider the conceptual model for a database of geometric shapes.


Conceptual model for a database of geometric shapes.

The conceptual model is given through an entity-relationship (ER) diagram.

Entities

  • Each rectangle corresponds to an entity.
  • An entity is denoted by a singular noun (segment, point, polygon, label) and has some attributes (e.g., seg_id, seg_color).
  • An entity describes an object type. There might be many instances of an entity (e.g., there might be many segments). Each instance has its own attribute values (e.g., a segment might be red, another one blue).
  • Underlined attributes are entity identifiers. There cannot be two different instances of an entity with the same values for the underlined attributes. For example, two different points cannot have the same coordinates (x, y).

Relationships

  • Each diamond corresponds to a relationship.
  • A relationship is denoted by a verb (has_endpoint, has_side, has_label) and might have some attributes (e.g., the attribute index of the relationship has_side).
  • Each relationship has cardinalities (min, max) for each entity involved in the relationship. Cardinalities only take the values 0, 1 or n. Other values are not allowed.

👉 The sides of a polygon have a clockwise order. The attribute index indicates the position of a side with respect to that order.

Example. Consider the relationship has_endpoint between segment and point.

The cardinalities are (1, 1) on the segment side:

  • A segment must have at least one endpoint (minimum cardinality 1).
  • A segment can have at most one endpoint (maximum cardinality 1).

The cardinalities are (0, n) on the point side.

  • A point might not be the endpoint of any segment (minimum cardinality 0).
  • A point might be the endpoint of more than one segment (maximum cardinality n).

👉 There might be two different relationships between any two entities (e.g., the relationships has_endpoint between segment and point).

Relationships classification

Depending on its maximum cardinalities, a relationship can be classified into one of the following:

  • A one-to-one relationship is one with a maximum cardinality of 1 on both sides (e.g., the relationships has_label).
  • A one-to-many relationship is one with a maximum cardinality of 1 on one side and n on the other side (e.g., the relationships has_endpoint).
  • A many-to-many relationship is one with a maximum cardinality of n on both sides (e.g., the relationship has_side).

To learn more

For an in-depth coverage of conceptual models and entity-relationship diagrams, we recommend the book Modern database management.