Introduction to ERD Notation: Visualizing Your Data Model
Learn to draw professional ERDs using industry-standard Crow's Foot notation. Master relationship symbols to map your SaaS data model with confidence.

Previously in this course, we covered how to identify core business entities in Requirements Gathering for SaaS and how to define entities and attributes for our database. We also explored the logic behind cardinality and relationships.
Now that we have our entities and business rules, we need a way to communicate that structure to our team and stakeholders. This lesson introduces ERD (Entity Relationship Diagram) notation—specifically the industry-standard "Crow's Foot" notation—to help you visualize your data model before writing a single line of SQL.
Why Use Crow's Foot Notation?
An ERD is the blueprint of your database. While a whiteboard sketch might help you think, a formal diagram using Crow's Foot notation provides a unambiguous language that any developer or DBA can understand.
"Crow's Foot" refers to the three-pronged symbol used to represent the "many" side of a relationship. It is the standard for visual modeling because it clearly distinguishes between mandatory and optional relationships, which is crucial for data integrity.
Anatomy of a Relationship

In Crow's Foot notation, a relationship is defined by two things: cardinality (how many) and optionality (is it required?).
The symbol closest to the entity tells you how many occurrences can exist, and the symbol further out tells you if the relationship is mandatory.
| Symbol | Meaning |
|---|---|
| ` | |
| ` | O` |
| `} | ` |
}O | Optional Many (Zero or more) |
Interpreting the Symbols
If you have an Account that can have multiple Users, the line connecting them ends in a "Crow's Foot" at the User entity.
- If a
Usermust belong to anAccount, you use the Mandatory Many symbol (}|). - If a
Usercan exist without being assigned to anAccount(at least temporarily), you use the Optional Many symbol (}O).
Drawing Your First ERD
Let’s apply this to our running SaaS project. We have an Account entity and a Subscription entity. Our business rule states: "An account must have at least one subscription to be active, but a subscription always belongs to exactly one account."
- Boxes: Draw two rectangles, one for
Accountand one forSubscription. - The Relationship Line: Draw a line connecting the two.
- The Cardinality:
- On the
Accountside, place a||(One). - On the
Subscriptionside, place a}|(Many).
- On the
The diagram tells us that an Account is the parent, and Subscription is the child. Because we used the "Mandatory" symbol, we are telling the database: "You cannot create a subscription without an associated account ID."
Hands-on Exercise: Model the User
Using a tool like Lucidchart, draw.io (diagrams.net), or dbdiagram.io, create an ERD for a simple User and Profile relationship.
- Rule: Every
Userhas exactly oneProfile. AProfilebelongs to exactly oneUser. - Task: Draw the two entities, connect them, and use the correct
||notation on both ends to represent a 1:1 relationship.
Common Pitfalls to Avoid
- Over-complicating the diagram: Keep your initial ERDs conceptual. Don't worry about every single column yet; focus on the relationships between entities.
- Ignoring Optionality: Beginners often treat every relationship as mandatory. Always ask: "Can this child exist without a parent?" If the answer is yes, use the
O(Optional) symbol. - Mixing Notations: Stick to Crow's Foot. Some older tools use "Chen notation" (diamonds for relationships), which can confuse modern development teams.
FAQ
Q: Do I need special software for ERDs?
A: Not necessarily. While tools like Lucidchart are great, many developers prefer dbdiagram.io, which lets you generate ERDs by writing simple code.
Q: What if I have a Many-to-Many relationship? A: You can't draw a direct Many-to-Many line in a physical schema. You must resolve it with an associative entity (a "junction" table). We will cover this in detail in Lesson 20.
Recap
You now have the tools to translate your business logic into a visual schema. By using Crow's Foot notation, you can clearly define cardinality and optionality, ensuring your database design is robust and easy to communicate. Remember: the diagram is a living document—update it whenever your business requirements evolve.
Up next: We will apply these skills to map our first real-world SaaS scenario in Mapping SaaS Users and Accounts.
Work with me

AI Automation & Agentic Workflow Development
Automate the repetitive work eating your time — content pipelines, data workflows, and agentic AI tasks that run themselves.

Next.js Website & Landing Page Development
A blazing-fast, SEO-optimized website or landing page in Next.js — the kind that loads instantly and ranks. Design-to-code, done right.

