Object-Role Modeling (ORM)

Object-role modeling is a graphical notation for data and ontology modeling, especially useful in software engineering.

Object-role modeling is a conceptual fact-based notation. It is used for data and ontology modeling in software engineering. The diagram elements are attribute-free and can be described equivalently in natural language.

Supported Notations

Software Ideas Modeler supports two versions of ORM notations: ORM 1 and ORM 2. It allows you to change the main shape for your ORM diagrams to a rounded rectangle, rectangle, or ellipse. The default shape is a rounded rectangle. The shape is used for entities and values.

You can change the notation for the desired diagram using the Diagram Properties dialog. Right-click on an empty space in the diagram and choose Properties from the context menu. Switch to the ORM tab to access the Notation version and Main shape setting.

ORM Symbols

You can use the following elements in your ORM diagrams:

  • Entity - is an object that has its own identity and life cycle. It can exist independently of other entities. Usually, it is mutable. An entity is depicted as a shape (e.g. rectangle or ellipse) with a solid border.
  • Value - is an object that cannot exist independently; its existence is bound to the owning entity. A value is depicted as a shape (e.g. rectangle or ellipse) with a dashed border.
  • Predicate - connects two objects. The number of boxes in the predicate corresponds to the number of association roles.
  • Objectifier - defines a separate object for the association.

The objects can be connected using the following connectors:

  • Role Connector - connects an entity or value to a predicate to show the role played by the object in the association.
  • Constraint Connector
  • Equality Constraint
  • Subset Constraint
  • Subtype Constraint

You can determine these constraints between objects:

  • Exclusion Constraint
  • Disjunctive Mandatory Contraint
  • Mandatory Constraint
  • Xor Contraint
  • Index Annotation
  • External Equality Constraint
  • External Primary Constraint
  • External Uniqueness Constraint
  • External Subset Constraint

Overview of ORM Notation

ORM Symbols Overview
ORM Symbols Overview

Overview of ORM 2.0 Notation

ORM 2.0 Symbols Overview
ORM 2.0 Symbols Overview

How to Add More Roles to Predicate?

A predicate has two roles (represented by two boxes) after inserting to the diagram by default. You can add other roles using the context bar. Select the desired predicate element and click on the Add Predicate Part button in the context bar.

Adding more parts to ORM predicate
Adding more parts to ORM predicate

How to Unique Tuples and Primary Keys to Predicate?

If you want to define some roles of a predicate as unique or a part of the primary key, you can do it using the context menu. Click on the desired role box of the predicate to select it. If you want to select multiple roles, hold CTRL and click on the desired boxes. Then right-click on one of the selected roles and choose Primary key or Unique item from the context menu. To cancel the primary key or unique tuple, select its box or boxes, right-click on them and uncheck the Primary key or Unique item in the context menu.

Setting primary key and unique tuple within an ORM predicate
Setting primary key and unique tuple within an ORM predicate

New Comment