Relational Data Modeling - Cardinality

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

• optional on one side one-to-one

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

Discover More
BOBJ - Cardinalities

This article talk cardinality in universe designer. The cardinality of a join does not have a role in the SQL generated when you run a query. However, Designer uses cardinalities to determine context...

A business rule is a rule that constrains some aspect of the business process. According to the white paper by the Business Rules Group, a business...
Dimensional Data Modeling - Degenerate Dimension of Fact dimension (i.e. event/header entity)

In a dimensional model, you may find a dimension table: with a cardinality (distinct value is higher than 10,000). cardinality which has a many-to-one relationship with the fact table close to a one-to-one...
Dimensional Data Modeling - Fact Table

A fact table is a table that stores fact where a fact can be seen as the representation of an event. It's also known as: Transactional history Unalterable fact. (The content of this kind of table...
JPA - Entity Annotations

A key feature of EJB 3.0 and JPA is the ability to create entities that contain object-relational mappings by using (metadata) annotations rather than deployment descriptors (orm.xml) as in earlier versions....
Logical Data Modeling

A data model in software engineering is a graph of entity that try to represent the reality and describes how data are represented and accessed. the real world consists of entities and relationships....
OBIEE - How to define a One to Many Relationship

How to model a One to Many Relationship in OBIEE ? Starsnowflake schemasdimensional schemaone-to-many relationshipsdimension tablesfact tables You must in the logical business model from OBIEE designed...
OWB - Referential Rule

Referential Rule permit to enforce referential integrity. When you create a rule and you select the type referential, the software will ask you to enter the definition of the . Properties Definition...
Oracle Database - Rows (of Card as Cardinality for 9i)

Cardinality is the second measure that Query Plan Estimator use to estimate a execution plan. It represents the number of rows in a row set that the Optimizer expects to come back. Here, the row set...
Python - Set

Implementation of a set data structure in Python. Sets are mutable. There is a non-mutable version of set called frozenset. The elements of a set arenot mutable. A set then cannot contain a list since...