Skip to content

Conceptual Data Model

Conceptual data modeling is the process of creating a high-level picture of business information requirements. It describes the information the business needs, not how a database stores it.

The core elements are:

  • Entities: the things the business cares about.
  • Attributes: the facts recorded about each entity.
  • Relationships: the links between entities. They reflect business processes and rules.
  • Business rules: the rules that govern the entities and their links.

The model deliberately leaves out database-specific concerns. Indexes, data types and storage considerations do not belong in it. A later step, logical modeling, translates the conceptual model into a structured database design. The articles “Logical Data Model” and “Conceptual, Logical and Physical Data Model” cover what follows.

Who builds the model matters. One empirical study compared conceptual data models made by expert and novice practitioners. It judged them with quality factors drawn from earlier studies and frameworks on modeling quality. Experts’ models were more correct, complete, innovative and flexible than novices’ models.

A small online library lists three entities: Member, Book and Loan. Member has a name. Book has a title. Loan links a member to a book through a business rule, such as “a member may borrow books”. The model says nothing about tables, data types or indexes. A database designer adds those later, in the logical model.

The facts here say little about costs and benefits. One point is clear from the study: model quality depends on the modeler’s expertise. Models by novices were less correct, complete and flexible. Experienced people should build the model, or at least review it.

Keeping the model free of database details makes it easier to discuss in business terms. The price is an extra step: someone must translate it into a logical design later.

Small conceptual model: three entities with named relationships and no database details.

Diagram source
@startuml
entity Member {
name
}
entity Book {
title
}
entity Loan {
}
Member ||--o{ Loan : borrows
Book ||--o{ Loan : is lent in
@enduml
  • The conceptual data model contains entities, attributes, relationships and business rules.
  • The conceptual data model contains no database-specific concepts such as indexes, data types or storage details.
  • The relationships in the model reflect business processes and rules.