In mathematics, an n-ary relation (or often simply relation) is a generalization of binary relations such as "=" and "<" which occur in statements such as "5 < 6" or "2 + 2 = 4". It is the fundamental notion in the relational model for databases.

Formally, a relation over the sets X1, ..., Xn is an n+1-ary tuple R=(X1, ..., Xn, G(R)) where G(R) is a subset of X1 × ... × Xn (the Cartesian product of these sets). G(R) is called the graph of R and, similar to the case of binary relation, R is often identified as its graph.

An n-ary predicate is a truth-valued function of n variables.

Because a relation as above defines uniquely an n-ary predicate that holds for x1, ..., xn iff (x1, ..., xn) is in R, and vice versa, the relation and the predicate are often denoted with the same symbol. So, for example, the following two statements are considered to be equivalent:

( x1 , x2 , ... ) ∈ R
R( x1 , x2 , ... )

Relations are classified according to the number of sets in the Cartesian product; in other words the number of terms in the expression:
  • unary relation: R(x)
  • binary relation: R( x , y ) or x R y
  • ternary relation: R(x, y, z)
  • quarternary relation: R(x, y, z, w)

Relations with more than 4 terms are usually called called n-ary; for example "a 5-ary relation".