Design the ER model

Conceptual design describes the domain with entities, relationships, attributes, identifiers and generalizations. The toolbar on the left shows the actions available for the selected element.

The Show button opens the Code panel next to the canvas: a text version of the schema that updates with every change (see Notation).

Entities and relationships

  1. Place entities and relationships on the canvas with the Entity and Relation buttons, in any order.
  2. Select a relationship and click Connect (Shift + C), then click an entity to link it. The line created is a participation, an element in its own right that can be selected and deleted.
  3. Double-click any element to rename it.

A relationship links two or three entities. A recursive relationship connects the same entity twice and requires a Role on both participations, such as supervisor and supervisee.

Names may contain letters, digits and underscores, and cannot start with a digit. Spaces become underscores. Entity and relationship names are converted to uppercase.

Weak entities

An entity whose own attributes are insufficient to uniquely identify its instances requires an external identifier and is called a weak entity. For example, a student might be identified by a registration number in combination with their university.

  1. Connect the weak entity to the identifying entity using a binary relationship.
  2. Select the weak entity’s participation line and click Ext. Id.
  3. Mark the weak entity’s local identifying attributes, such as Registration.

Attributes

  • Attribute (Shift + A) adds an attribute to the selected entity or relationship. The default cardinality for new attributes is mandatory (1,1), but it can be modified at any time during the design phase.
  • Subattr (Shift + S) on an attribute makes it composite, such as Address with Street, City and ZipCode.
  • Card. sets the cardinality. A minimum of 0 makes the attribute optional; a maximum of many makes it multivalued.
  • Identifier (Shift + I) marks an attribute as part of the internal identifier.

Participations

Select a participation line to set its cardinality with Card., its Role, or to use it for external identification with Ext. Id. See Weak entities.

Generalizations

  1. Select a child entity, click Parent (Shift + P) and select the parent entity.
  2. Repeat for every child. Children of the same parent share one generalization.
  3. Select the generalization and use Type to set it as total or partial, exclusive or overlapping. New generalizations have no type until one is chosen.