Relationship Sets
# Relationship Set

A relationship set is a set of relationships,
all of which
- have the same arity,
- connect to the same object classes, and
- express the same logical connection among objects.

In an ORM diagram, a relationship set is represented
by a diamond with lines connecting associated object classes. There is a
line for each connection to an object class.
For instance:

**Figure 1. Binary relationship set**

The number of connections to object classes in a relationship set is called the
*arity* of the relationship set. If there are two connections, the
relationship set is *binary*. If there are three, it is *ternary*.
For four object classes the relationship set is *quaternary*. Relationship sets with five
or more are *5-ary*, *6-ary*,
and so on. It is common to refer to relationship sets of arity three or more
as *n-ary* relationship sets.

For example:

**Figure 2. Ternary relationship set**

In the shorthand notation for binary relationship set names, we omit the
diamond and the object class name, and add a directional arrow. In the
shorthand notation, we thus represent the relationship set in Figure 1 as shown
in Figure 3. We provide no shorthand notation for n-ary relationship sets.

**Figure 3. Relationship set with abbreviated name**

The analysts can express several different types of constraints on relationship sets.

## Special Relationship Sets

Certain types of relationship sets appear so often in ORM diagrams that we
have chosen special symbols to represent them. These include:

Here is a
short quiz so you can test your understanding of relationship sets.

Go to the
OSA Tutorial
ORM

Go to
Relationships
Generalization/Specialization

Last updated 3 Nov 1994.
by Mingkang Xu
(xmk@osm7.cs.byu.edu), Lei Cao(caol@bert.cs.byu.edu)