Chapter 04 · ER Modeling Notations and Communication

Crow's Foot Notation from First Principles

Learn Crow's Foot notation from first principles: entities, keys, relationship lines, optionality, cardinality, and how to read a diagram as precise business statements.

Beginner50–70 minutesNotation + diagram readingLast reviewed: August 2026

Learning outcomes

In Chapters 1–3, you learned the semantics of entities, attributes, identifiers, relationships, cardinality, and participation. A modeling notation gives those ideas a visual grammar. Crow's Foot notation is one of the most common ways to draw relationally oriented entity-relationship diagrams because it can express minimum and maximum cardinality compactly at each relationship end.

01

Read Crow's Foot entity boxes, keys, attributes, and relationship endpoints.

02

Translate 0..1, 1..1, 0..*, and 1..* participation into Crow's Foot symbols.

03

Read a diagram aloud as business statements in both directions.

04

Avoid notation mistakes that accidentally change the intended business rule.

Why Crow's Foot notation exists

A data model is a communication artifact. A line between Customer and Asset is incomplete unless readers can determine whether an asset may exist without a customer, whether one customer can own many assets, and whether ownership is current-only or historical. Crow's Foot notation places compact symbols at each end of a relationship so that these constraints can be read visually.

Notation is not the model

The symbols do not create the business rule. Requirements create the rule; notation records and communicates it. If the underlying rule is uncertain, a beautifully drawn diagram is still uncertain.

The basic endpoint symbols

Crow's Foot notation combines a minimum marker with a maximum marker. Tooling varies slightly, but the semantics are generally:

MeaningText formInterpretation
Zero or one0..1Participation is optional and at most one related instance is allowed.
Exactly one1..1Participation is mandatory and exactly one related instance is required.
Zero or many0..*Participation is optional and any number of related instances may exist.
One or many1..*At least one related instance is required and many are allowed.

The familiar “crow's foot” shape represents many. A bar typically represents one, and a circle represents zero/optional. Exact drawing conventions differ between products, so a model should state which convention the team follows.

Entity boxes

A typical Crow's Foot entity box includes an entity name and attributes. Keys are often distinguished with labels such as PK and FK:

At a conceptual level, you may omit physical columns and show only the entity name. At a logical level, candidate keys and important attributes become useful. At a physical level, database-specific column names, data types, indexes, and constraints may appear.

Do not mix abstraction levels accidentally

A common diagram combines conceptual nouns such as Customer with physical details such as VARCHAR(255), index names, storage engines, and partition keys. This makes review difficult because business stakeholders and database engineers are discussing different concerns at once.

Use a deliberate level:

  • Conceptual diagram — entities, major relationships, high-level constraints.
  • Logical diagram — attributes, identifiers, normalized relationships, domain-oriented constraints.
  • Physical diagram — tables, columns, data types, indexes, database-specific details.

Read the relationship from both directions

Consider WorkshopHub:

The two directional statements are:

  1. One Customer may own zero or many Assets.
  2. Each Asset is owned by exactly one Customer.

A reviewer should be able to read every relationship this way. If the two sentences do not match the intended requirement, the endpoint markers are wrong.

Asset and WorkOrder

The requirements say:

  • An asset may never need service, or may have many work orders over time.
  • Every work order services exactly one asset.

The logical relationship is:

The foreign key normally lives on the WorkOrder table because WorkOrder is the many side:

model · example
WorkOrder.asset_id NOT NULL REFERENCES Asset(asset_id)

Optional one-to-one

Suppose Employee may have one private payroll profile and the profile belongs to exactly one Employee:

This relationship is not one-to-many. The implementation therefore needs uniqueness on the foreign key, often by sharing the same primary key:

Many-to-many before resolution

At the conceptual level, Technician and WorkOrder may be drawn as many-to-many:

At the logical relational level, resolve the relationship through WorkOrderAssignment:

WorkOrderAssignment can then contain started_at, ended_at, and role.

Identifying versus non-identifying relationships

Some Crow's Foot tools distinguish identifying and non-identifying relationships. In an identifying relationship, the parent's key forms part of the child's primary key. This often appears with weak entities.

For example:

model · example
WorkOrder(  work_order_id PK)WorkOrderLine(  work_order_id PK, FK  line_number   PK)

WorkOrderLine is identified by its owner plus a partial key. A non-identifying relationship would use a child primary key independent of the parent's key, such as work_order_line_id.

Foreign-key placement is not drawn from visual direction

The relationship line may be horizontal, vertical, left-to-right, or right-to-left. Do not infer foreign-key placement from page position. Infer it from the relationship semantics.

For a one-to-many relationship, the foreign key normally belongs on the many side. For many-to-many, create an associative entity. For one-to-one, either side may hold the foreign key depending on optionality and lifecycle, but uniqueness must enforce the upper bound.

Relationship labels improve Crow's Foot diagrams

Crow's Foot endpoints show counts, not verbs. Add relationship labels where meaning might be ambiguous:

A diagram with correct symbols but vague semantics is hard to review. Relationship names make errors easier to detect.

Common Crow's Foot mistakes

Reversing the “many” marker

If one Customer can own many Assets, the many marker belongs at the Asset end when reading from Customer to Asset.

Forgetting minimum cardinality

“One-to-many” does not tell us whether zero children are allowed or whether every parent requires at least one child.

Drawing M:N in a logical relational model without an association

Conceptually valid, but incomplete for relational implementation.

Using visual proximity as semantics

Boxes placed close together are not related unless the relationship is explicitly modeled.

WorkshopHub mini-model

This compact model already communicates ownership, service history, technician participation, and part usage. The next step is to add role names and key annotations appropriate to the review audience.

Practice: read before drawing

Translate requirements into endpoints

For each requirement, write the two directional statements and the endpoint pairs.

  1. A department may have zero employees; every employee belongs to exactly one department.
  2. A person may have zero or one parking permit; every permit belongs to exactly one person.
  3. A course may have many prerequisites and may itself be a prerequisite for many courses.
Review one possible answer

Department→Employee is 0..*, Employee→Department is 1..1. Person→Permit is 0..1, Permit→Person is 1..1. Course prerequisite is a recursive many-to-many relationship and requires role names such as course and prerequisite; a logical relational model normally resolves it through an associative relation.

Summary and next lesson

Crow's Foot notation is compact because each relationship endpoint expresses minimum and maximum participation. Correct notation follows from correct business rules—not the other way around. The next lesson examines Chen notation, which makes conceptual relationships and attributes more explicit and remains foundational to ER modeling theory.

References

  • Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems.
  • Thomas Connolly and Carolyn Begg, Database Systems.
  • Peter P. Chen, “The Entity-Relationship Model—Toward a Unified View of Data,” 1976.

Keep knowledge open

Help the academy stay free and grow.

If these tutorials save you time, a small donation supports new lessons, technical review, diagrams, examples, and long-term maintenance.

ETHEthereum / ERC-20 only
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0

Send only assets compatible with the Ethereum/ERC-20 network. Do not send TRC-20/TRON assets.