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
- UML Class Diagram — Preferred for conceptual modeling. Cleaner representation of type hierarchies (generalization), aggregation/composition, and Multiplicity.
- Entity-Relationship Diagram (ERD) — More commonly used for logical modeling, but can serve conceptual purposes with Chen notation.
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.