Crow’s Foot Notation — ER Diagram Cardinality Explained

Crow’s foot notation is the most widely used system for showing cardinality in entity relationship diagrams. The symbols drawn at each end of a relationship line tell you exactly how many records on one side can relate to records on the other. This guide explains every symbol, how to read a crow’s foot diagram, and how the notation maps to actual foreign key relationships in MySQL and PostgreSQL.

What Is Crow’s Foot Notation?

Crow’s foot notation (also called chicken foot notation or IE notation) is a graphical convention for representing the cardinality and optionality of relationships in an ER diagram. It was introduced by Gordon Everest in 1976 and named after the distinctive three-pronged symbol that represents the "many" side of a relationship — which resembles a crow’s foot.

It is the dominant notation used in modern database design tools, documentation, and textbooks. When you open SQL Designer and draw a relationship between two tables, crow’s foot notation is applied automatically.

The Crow’s Foot Symbols

Each end of a relationship line carries two pieces of information: the maximum cardinality (one or many) and the minimum cardinality (zero or one, i.e. optional or mandatory). These are shown by combining symbols at the line end:

Symbol at line endMeaning
Single vertical bar ( | )Exactly one (mandatory)
Circle ( ○ )Zero (optional)
Crow’s foot ( 〈〈 )Many

These are combined in pairs. The symbol closest to the entity shows the maximum cardinality; the next symbol shows the minimum:

Combined symbolReads as
One and only oneExactly one — mandatory, cannot be zero
Zero or oneOptional — at most one
One or manyAt least one — mandatory many
Zero or manyOptional many — zero or more

Relationship Types in Crow’s Foot Notation

One-to-One (1:1)

A single bar on both ends of the line. Each record in table A relates to exactly one record in table B, and vice versa.

Example: A users table and a user_profiles table, where each user has exactly one profile and each profile belongs to exactly one user. The foreign key (user_profiles.user_id) references users.id with a UNIQUE constraint to enforce the one-to-one cardinality.

One-to-Many (1:N)

A single bar on one end, a crow’s foot on the other. One record in table A relates to many records in table B, but each record in table B relates to exactly one record in table A.

Example: A users table and an orders table. One user can place many orders, but each order belongs to exactly one user. The foreign key (orders.user_id) references users.id. This is the most common relationship type in relational databases.

Many-to-Many (N:M)

A crow’s foot on both ends. Many records in table A relate to many records in table B.

Example: A products table and a tags table. One product can have many tags, and one tag can apply to many products. Many-to-many relationships cannot be represented by a single foreign key — they require a junction table (also called a join table or associative entity), such as product_tags, with foreign keys to both products and tags.

Optionality: Mandatory vs. Optional

The minimum cardinality symbol tells you whether the relationship is required:

For example, an orders table might have an optional coupon_id foreign key — an order can exist without a coupon, so coupon_id is nullable. In crow’s foot notation, the coupons end of the line would show a circle (zero-or-one) rather than a bar (exactly one).

How SQL Designer Uses Crow’s Foot Notation

When you draw a relationship line in SQL Designer between a foreign key column and the primary key it references, crow’s foot notation is applied automatically based on the column constraints:

The result is a complete, readable ER diagram using standard crow’s foot notation — ready to share with your team or embed in documentation.

Draw ER diagrams with crow’s foot notation — free

SQL Designer applies crow's foot notation automatically when you draw relationships between tables. No install, no subscription — just open the canvas and start designing.

Create a Free Account