Conceptual Data Modeling

Conceptual data modeling is the first phase of database design — creating a high-level, technology-agnostic representation of the domain’s entities, relationships, and constraints. It captures what data exists and how it relates, without specifying how it will be stored.

Purpose

  • Establish a shared understanding of the domain between stakeholders, analysts, and developers
  • Identify key entities and their relationships before committing to a DBMS
  • Scope the model to the use cases / user stories that drive the system

Tools

Conceptual → Logical → Physical

graph LR
    C["Conceptual Model<br/>(UML Class Diagram)"] --> L["Logical Model<br/>([[Entity-Relationship Diagram (ERD)|ERD]])"]
    L --> P["Physical Model<br/>(DDL / SQL)"]
    C -.->|"Same model, different<br/>DBMS targets"| L2["Document Model<br/>(MongoDB schema)"]
    C -.-> L3["Graph Model<br/>(Neo4j schema)"]

The same conceptual model can map to different logical models depending on the target database type — relational, document, graph, or key-value.