Relational Data Modeling - Cardinality


The cardinality is way to define the relationship between two relation in a data model :

Cardinalities further describe a join between 2 entity by stating how many rows in one relation will match rows in an another (It defines the minimum and maximum number of occurrences of one entity for a single occurrence of the related entity).

Cardinality is not a number; it is a range

Iordan Iotzov

The cardinality between two tables define the relationship

The cardinality of one data table known as :

  • left table
  • inner table
  • of local table

with respect to another data table known as :

  • right table
  • outer table
  • of remote table

define the type of relationships.

Left table cardinality Right table cardinality Type of relationship
Min Max Min Max
1 1 1 1 one-to-one
0 1 1 1 optional on one side one-to-one
0 n (or *) 0 n (or *) optional on both sides many-to-many
1 1 1 n (or *) one-to-many
  • Min = Minimum count of row
  • Max = Maximum count of row

Cardinality Symbol

Cardinality Min Instance Max Instance Graphic Notation
Exactly one 1 1
Zero or one 0 1
One or more 1 many (>1)
Zero, one, or more 0 many (>1)
More than one >1 >1
Cardinality symbol Example Description
Arrow  Arrow indicates the “one” direction of the join. If cardinality is 1,1 then an arrow head is shown at each join end.
Parity  Crow's foot indicates the “many” end of the join. If cardinality is 1,1, then a straight line is shown.
1,N  Cardinality symbol Example Description Cardinality is shown as a ratio at each end of the join.


Documentation / Reference

Powered by ComboStrap