Refining the Conceptual Model: Validating Your ERD
Learn how to validate your ERD against business requirements, identify missing relationships, and finalize your conceptual design for a robust SaaS database.

Previously in this course, we explored Designing Subscription Models: SaaS Relationship Mapping, where we established how accounts and subscription plans connect. Now that we have our core components, this lesson focuses on the critical "sanity check" phase: validating your ERD against the original business requirements to ensure nothing was lost in translation.
Even the most talented architects build models that look great on paper but fail under real-world usage. Refining your conceptual model is the process of moving from a "possible" schema to a "production-ready" one.
The Validation Checklist
Before we commit to DDL (Data Definition Language) in upcoming lessons, we must subject our current model to a rigorous design review. Use this checklist to audit your ERD:
- Requirement Coverage: Can every business scenario identified in Requirements Gathering for SaaS be satisfied by a join across your current entities?
- Cardinality Accuracy: Did we confuse a one-to-many relationship with a many-to-many? (e.g., Can a user really only have one account, or do we need to support multi-tenancy?)
- Missing "Hidden" Entities: Are there "action" items that act like entities, such as invoices, audit logs, or password reset tokens?
- Relationship Completeness: Are all entities connected, or do we have "orphan" tables that don't relate back to the core business value?
Worked Example: Auditing the SaaS Model

Let’s look at our current SaaS project. We have Users, Accounts, and Subscriptions. If our business requirement states: "A user might manage multiple accounts, and an account must have an active subscription to access features," our current model might look like this:
- Initial Draft:
User(1) --- (N)Account(1) --- (1)Subscription
The Validation Critique:
- The Problem: The
AccounttoSubscriptionrelationship is likely too restrictive. If a company wants to upgrade their plan, does the old subscription just disappear? Probably not—we likely need a history of subscriptions for billing. - The Fix: We identify a missing entity:
SubscriptionHistoryor a more robustPlanentity that sits between theAccountand the activeSubscription.
Identifying Missing Relationships
When you find a gap, don't just add a column. Use the "CRUD" test. For every entity, ask:
- Create: Who creates it?
- Read: Who needs to see it?
- Update: What state changes occur?
- Delete: What happens to related records when this is removed? (Cascading logic).
If you cannot answer these for a relationship, that relationship is not yet well-defined.
| Feature | Entity Relationship | Validation Status |
|---|---|---|
| User Login | User to Account | Verified (1:N) |
| Billing | Account to Subscription | Needs Refinement (1:N) |
| Feature Access | Subscription to Feature | Missing (M:N) |
Hands-on Exercise
Take your current ERD draft. For every relationship line you have drawn, write a single sentence describing the business rule.
Example: "An Account has many Users."
If you find yourself using the word "maybe" or "sometimes" (e.g., "An account sometimes has a subscription"), you have likely discovered a nullable relationship or a missing entity. Mark these areas on your diagram and decide if you need a status flag (like is_active) or a separate table to handle the optionality.
Common Pitfalls to Avoid
- Over-Engineering: Adding tables for features we think we might need later (e.g., a complex multi-currency support table) before the core business logic is validated. Stick to what the requirements demand today.
- Ignoring Constraints: Thinking that "logical" connections are enough. Conceptual modeling is the time to define cardinality—don't wait for the coding phase to realize you needed a many-to-many junction table.
- Ignoring Lifecycle: Failing to account for how an entity's state changes. A
Userwho is "Pending" is different from an "Active" user. Does your model account for this state transition?
Frequently Asked Questions
Q: How do I know when my conceptual model is "done"? A: It's done when every business requirement from your initial documentation can be mapped to a path through your entities, and every entity has a clear purpose.
Q: Should I worry about performance yet? A: No. Conceptual modeling is about data integrity and representation. Performance tuning (indexes, denormalization) comes much later in the course.
Q: Is it okay to have "dangling" entities? A: Generally, no. Every entity should relate to the core business (the Account or the User). If it doesn't, it might not belong in this database schema.
Recap

Validating your ERD is the final step before moving into the physical implementation of your database. By checking your model against your initial requirements, identifying missing relationships through the CRUD test, and ensuring your cardinality is accurate, you prevent costly refactors later.
Up next: We will transition from the theoretical to the practical in Logical vs Physical Schema, where we prepare your validated conceptual model for actual SQL implementation.
Work with me

Laravel SaaS MVP & Multi-Tenant App Development
Launch your SaaS MVP on Laravel — multi-tenant, subscription-ready, and built by the engineer behind a platform serving 10,000+ paying users.

Custom WordPress Plugin Development
Custom WordPress & WooCommerce plugins built to standard — by the developer behind a plugin with 5,000+ active installs and a SaaS with 10,000+ users.


