Participation Constraints

Participation Constraints

A participation constraint defines the number of times an object in an object class can participate in a connected relationship set. Every connection of a relationship set must have a participation constraint. However, participation constraints do not apply to relationships.

The basic form for a participation constraint is min:max, where min is a nonnegative integer, and max is either a nonnegative integer or a star (*). The star designates an arbitrary nonnegative number greater than min. The most common participation constraints are 0:1, 1:1, 0:*, and 1:*.

In an ORM diagram, we place a participation constraint near the connection of the object class and relationship set to which it applies.

For instance:

Figure 1. Sample participation constraints

This example means that each object person in object class Person has one and only one object height in object class Height, while each object height in object class Height corresponds to zero or more object person in object class Person.

Instead of using nonnegative integers, we may also use variables.

For instance:

Figure 2. Variables in participation constraints

We also provide a shorthand notation for participation constraints. The notation is applicable when the minimum and maximum values of a participation constraint are identical. Figure 3 is a version of Figure 2 using the shorthand notation for applicable participation constraints.

Figure 3. Shorthand participation constraints

Here is a short quiz so you can test your understanding of participation constraints.

Go to the OSA Tutorial ORM

Go to Constraints Co-occurence Constraints

 OSM Home Page CS Dept Home Page  BYU Home Page

Last updated 3 Nov 1994.
by Mingkang Xu (, Lei Cao(