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