Loading learning content...
An ER diagram review is not a casual glance at the diagram before implementation. It is a systematic quality assurance process that validates the model against multiple criteria: correctness, completeness, clarity, consistency, and conformance to standards.
Without a structured approach, reviews become informal 'looks good to me' exercises that miss errors. These errors then propagate into the physical schema, application code, and production data—where they become exponentially more expensive to fix.
This page presents a comprehensive Review Checklist that you can apply to any ER diagram. The checklist is organized into phases that mirror the aspects of quality we've covered throughout this module. Each phase contains specific validation points with criteria for pass/fail assessment.
Using This Checklist
The checklist is designed for systematic application:
By the end of this page, you will have a comprehensive, reusable checklist for reviewing ER diagrams. You will understand how to structure reviews, what to look for at each phase, how to categorize and document findings, and how to drive issues to resolution.
Before examining the diagram itself, gather the materials and context needed for an effective review.
Materials to Collect
| Material | Purpose | Critical for Review? |
|---|---|---|
| ER Diagram (current version) | Primary artifact under review | Required |
| Data Dictionary | Validate definitions and specifications | Required |
| Business Requirements | Validate completeness and correctness | Required |
| Naming Standards Document | Validate naming compliance | If exists |
| Previous Version (if revision) | Understand changes | If revision |
| Use Case / Query Examples | Validate that model supports required queries | Highly recommended |
| Domain Expert Access | Answer questions during review | Highly recommended |
Context Questions to Answer
A diagram appropriate for initial design discussion may be incomplete for implementation handoff. Know what stage the model is at and adjust expectations accordingly. Don't demand physical-level detail in a conceptual design session.
Review Team Configuration
For significant models, involve multiple perspectives:
| Role | What They Validate |
|---|---|
| Data Modeler | Technical correctness; notation; normalization |
| Domain Expert | Business accuracy; terminology; real-world fit |
| Application Developer | Queryability; practical use; performance implications |
| DBA | Physical feasibility; indexing strategy; maintenance |
| Data Governance | Compliance; standards; documentation completeness |
Scheduling Considerations
Review each entity in the model against these criteria:
| Check Point | Question to Answer | Pass Criteria |
|---|---|---|
| E1. Entity Identification | Does this represent a distinct thing the business tracks? | Entity is a real-world concept with independent existence |
| E2. Entity Naming | Does the name follow conventions and reflect business terminology? | Singular noun; PascalCase (or standard); domain language |
| E3. Entity Definition | Is there a clear, documented definition? | Data dictionary entry exists and is unambiguous |
| E4. Primary Key | Is there a clearly identified primary key? | Unique identifier defined; labeled appropriately |
| E5. Unique Constraints | Are alternate keys/unique constraints identified? | Business-meaningful uniqueness captured |
| E6. Entity Cohesion | Do all attributes belong to this entity? | No mixed concerns; single responsibility |
| E7. Entity Completeness | Are required entities present? Any missing? | All business concepts modeled; no obvious gaps |
| E8. No Duplicate Entities | Is this entity unique (not duplicated elsewhere)? | Same concept not modeled under different names |
| E9. Strong vs. Weak Correct | If weak entity, is dependency correctly modeled? | Weak entities show identifying relationship; double borders if notation requires |
| E10. Supertype/Subtype Correct | If inheritance used, is it correctly structured? | Disjoint/overlapping and total/partial constraints specified |
'Is [Entity Name] something you track and care about independently?' 'What uniquely identifies a [Entity Name]?' 'Are there different types of [Entity Name] that we should distinguish?'
For each entity, review its attributes:
| Check Point | Question to Answer | Pass Criteria |
|---|---|---|
| A1. Attribute Naming | Does the name follow conventions? | snake_case (or standard); standard suffixes (_id, _date, etc.) |
| A2. Attribute Definition | Is there a clear, documented definition? | Data dictionary entry exists and is complete |
| A3. Data Type | Is the data type appropriate and documented? | Logical type specified; domain appropriate |
| A4. Domain/Valid Values | Are allowed values specified? | Value constraints documented; lookup tables referenced |
| A5. Nullability | Is nullability explicitly specified and correct? | NOT NULL where required; NULL meaning documented |
| A6. Default Values | Are defaults specified where appropriate? | Defaults documented; business logic clear |
| A7. Derived Attributes | Are derivations documented with update policy? | Calculation specified; refresh mechanism defined |
| A8. No Embedded Structure | Is the attribute atomic (not multi-valued)? | No lists, arrays, or complex structures in one attribute |
| A9. No Repeating Groups | No attribute1, attribute2, attribute3 patterns? | Multi-valued data in separate entities |
| A10. Consistent Across Entities | Are similar attributes named consistently? | Same concept uses same name everywhere |
| A11. Units Specified | For quantities, are units clear? | Units in name or documentation (weight_kg, price_usd) |
| A12. Sensitivity Classified | Are sensitive attributes marked? | PII, PHI, financial data identified for governance |
Special Attention: Key Attributes
| Check Point | Question | Pass Criteria |
|---|---|---|
| A-K1. Primary Key Stability | Will the PK value change? | Immutable once assigned |
| A-K2. Primary Key Minimality | Is the PK minimal? | No unnecessary attributes in composite key |
| A-K3. Foreign Keys Named | Do FK names match referenced PK? | customer_id in Order matches customer_id in Customer |
| A-K4. Natural vs. Surrogate | Is the key choice justified? | Rationale documented if non-obvious |
Review each relationship in the model:
| Check Point | Question to Answer | Pass Criteria |
|---|---|---|
| R1. Relationship Named | Is the relationship named meaningfully? | Active verb; describes the association |
| R2. Cardinality Correct | Is cardinality correctly specified on both ends? | 1:1, 1:N, M:N matches reality |
| R3. Cardinality Validated | Has cardinality been validated with examples? | 'Can a customer have multiple orders?' answered |
| R4. Participation Correct | Is total/partial participation specified? | Double line for total; single for partial |
| R5. Participation Validated | Has participation been validated with edge cases? | 'Can an order exist without a customer?' answered |
| R6. No Missing Relationships | Are all necessary associations present? | Query paths exist for all required data access |
| R7. No Redundant Relationships | Are there unnecessary duplicate paths? | Only relationships with independent meaning |
| R8. Self-References Clear | Are recursive relationships unambiguous? | Role names distinguish ends (supervisor/subordinate) |
| R9. Ternary Relationships Justified | If ternary, is it truly three-way? | Cannot decompose into binary without losing semantics |
| R10. Referential Actions Specified | Are delete/update cascades documented? | ON DELETE CASCADE, RESTRICT, etc. specified |
| R11. Relationship Attributes | If relationship has attributes, are they documented? | Attributes that belong to relationship, not entities |
For each key business question ('Which customers ordered product X?'), trace the path through the model. If you can't trace a path, a relationship may be missing. If multiple paths exist that should return the same answer, investigate redundancy.
Review the diagram as a visual artifact:
| Check Point | Question to Answer | Pass Criteria |
|---|---|---|
| D1. Title Present | Does the diagram have a descriptive title? | Title indicates scope/domain |
| D2. Version Labeled | Is version number and date shown? | Version and date visible on diagram |
| D3. Author Identified | Is ownership/authorship clear? | Author or team identified |
| D4. Legend Included | Are notation conventions explained? | Legend for symbols, colors, notations |
| D5. Consistent Notation | Is one notation used throughout? | No mixed Chen/Crow's Foot/IE notation |
| D6. Readable Layout | Can the diagram be understood at intended scale? | Text legible; groupings clear |
| D7. Minimal Crossings | Are line crossings minimized? | Relationship lines routed cleanly |
| D8. Logical Grouping | Are related entities grouped spatially? | Domain clusters visible |
| D9. Consistent Sizing | Are similar entities similarly sized? | Comparable visual weight |
| D10. Annotations Present | Are complex areas annotated? | Notes explain non-obvious design decisions |
| D11. Scope Clear | Is it clear what's included/excluded? | Boundaries documented if partial view |
| D12. Printable | Can the diagram be printed usefully? | Scales appropriately; paginated if needed |
The Squint Test Revisited
After detailed review, step back and look at the overall structure:
If the gestalt impression is confusion, layout improvements are needed—even if all details pass individually.
Verify that documentation supports the diagram:
| Check Point | Question to Answer | Pass Criteria |
|---|---|---|
| DOC1. Data Dictionary Exists | Is there a comprehensive data dictionary? | Dictionary artifact present and accessible |
| DOC2. All Entities Defined | Does every entity have a definition? | No 'TBD' or missing entries |
| DOC3. All Attributes Defined | Does every attribute have a definition? | No undocumented attributes |
| DOC4. All Relationships Defined | Does every relationship have documentation? | Meaning and business context explained |
| DOC5. Business Rules Captured | Are non-schema rules documented? | Complex validations, derivations, processes |
| DOC6. Ownership Assigned | Is ownership clear for each entity? | Steward/owner identified |
| DOC7. Version History Maintained | Is change history documented? | Changes traced with dates and rationale |
| DOC8. Standards Compliance | Does documentation follow organizational standards? | Format, completeness, location per standard |
| DOC9. Synchronization | Is documentation synchronized with diagram? | No contradictions between diagram and dictionary |
| DOC10. Accessibility | Can stakeholders access documentation? | Documentation location known and accessible |
If documentation is missing or superficial, the design process is incomplete. Do not advance to implementation with 'we'll document later' as a plan. Documentation gaps indicate design gaps.
The model must accurately represent business reality:
| Check Point | Validation Method | Required Outcome |
|---|---|---|
| BV1. Terminology Correct | Domain expert review | Names match business vocabulary |
| BV2. Concepts Complete | Compare against requirements | All required concepts modeled |
| BV3. Relationships Accurate | Scenario walk-through | Relationships match real-world associations |
| BV4. Cardinality Accurate | Edge case testing | 'Can a customer have zero orders?' correctly modeled |
| BV5. Constraints Captured | Business rule review | Validations and restrictions reflected |
| BV6. Query Paths Exist | Use case validation | Required reports/queries supported |
| BV7. Historical Tracking | Temporal requirement check | Time-variant data correctly modeled |
| BV8. Future Flexibility | Growth scenario review | Model accommodates anticipated changes |
| BV9. Integration Points | Interface review | External system data modeled correctly |
| BV10. Stakeholder Approval | Sign-off from business owner | Formal acceptance of model accuracy |
Scenario Walk-Through Technique
For each major business process, walk through the model:
If the walk-through encounters gaps or contradictions, the model needs revision.
Create sample records for each entity and relationship. Can you represent real business data? Do edge cases (zero values, null values, historical records) fit? Sample data reveals modeling issues that abstract review may miss.
When review identifies issues, document and track them systematically.
Issue Severity Classification
| Severity | Definition | Examples | Action Required |
|---|---|---|---|
| Critical | Prevents correct implementation; fundamental flaw | Missing key entity; wrong cardinality; naming collision | Must fix before proceeding |
| High | Significant problem requiring redesign | Missing relationships; unclear constraints; inconsistent naming | Must fix before implementation |
| Medium | Issue that affects quality but not correctness | Missing documentation; layout problems; minor naming issues | Should fix before implementation |
| Low | Minor issue; cosmetic or stylistic | Slight inconsistency in styling; minor annotation missing | Fix when convenient; track for later |
1234567891011121314151617181920212223242526272829
# ER Model Review Issue ## Issue ID: ERR-2024-001**Severity**: High**Status**: Open ## SummaryMissing relationship between Order and Warehouse entities ## DescriptionThe model shows Order and Product entities but no path to determine which warehouse will fulfill the order. Business requires warehouse assignment at order time for inventory reservation. ## Affected Elements- Order (entity)- Warehouse (entity - possibly missing)- fulfills_from (relationship - missing) ## Business ImpactCannot implement inventory reservation feature; incorrect fulfillment routing ## RecommendationAdd Warehouse entity if not present. Add relationship Order—fulfills_from—Warehouse with cardinality 1:N (one warehouse per order; warehouse can fulfill many orders). ## Assigned To: Jane Doe (Data Modeler)## Due Date: 2024-01-20## Resolution: [To be filled after resolution]Review Meeting Structure
For formal reviews, structure the meeting:
Post-Review Follow-Up
The goal of a review is to improve the model, not to criticize the modeler. Approach issues as problems to solve together. The reviewer catches things the modeler missed; this is a feature of the process, not a failure of the modeler.
For convenient reference, here is a consolidated view of all checklist categories:
Customizing the Checklist
This checklist is comprehensive but may need adaptation for your organization:
A systematic review process transforms ER diagram quality from dependent on individual skill to reliably achieved through process. The checklist ensures that reviews are thorough, consistent, and effective.
Module Complete
With this page, you have completed the ER Diagram Best Practices module. You now have a comprehensive foundation in naming conventions, diagram layout, documentation practices, common mistake recognition, and systematic review processes.
These practices separate professional-quality data modeling from ad hoc diagram creation. Applied consistently, they yield ER diagrams that communicate clearly, implement correctly, and remain maintainable over time.
Applying What You've Learned
Practice is essential. Apply these principles to:
The transition from knowing best practices to habitually applying them comes through deliberate practice.
Congratulations! You have completed Chapter 10: Advanced ER Concepts, Module 6: ER Diagram Best Practices. You are now equipped with the knowledge to create, evaluate, and maintain professional-quality Entity-Relationship diagrams.