Database Management Systems

Chapter 2
Conceptual Data Modeling

Bachelors Program in AI & ML
Database Management Systems   •   Bachelor

Conceptual Data Modeling

Introduction and Context

A database is useful only when it represents the real-world activities and rules of an organization accurately. Before tables, indexes, SQL statements, or machine-learning pipelines are designed, analysts must determine what data exists, how data items are related, and what rules govern them. Conceptual data modeling addresses this need.

A conceptual data model is a technology-independent description of an organization’s information requirements. It communicates with business stakeholders in terms they understand while providing a foundation for later logical and physical database design. The most widely used approach is the Entity–Relationship (ER) model and its extension, the Enhanced Entity–Relationship (EER) model.

For AI and machine-learning professionals, conceptual modeling is particularly important. Training data, feature stores, customer records, sensor data, and prediction results all depend on reliable definitions of entities, identifiers, relationships, and business rules. Poor conceptual modeling can produce duplicated records, biased datasets, incorrect joins, privacy violations, and unreliable analytical conclusions.

Learning Objectives

After studying this chapter, you should be able to:

  • elicit and document business data requirements;
  • distinguish entities, attributes, relationships, and constraints;
  • identify candidate, primary, alternate, and composite keys;
  • model cardinality and participation accurately;
  • explain weak entities and identifying relationships;
  • construct ER and EER models using specialization, generalization, and inheritance;
  • analyze a business scenario and develop a conceptual schema;
  • recognize modeling errors, governance concerns, and limitations of conceptual models.

From Business Requirements to a Conceptual Schema

Data modeling begins with requirements discovery rather than diagram drawing. Analysts use interviews, observation, existing forms, policy documents, reports, sample files, and workshops to discover:

1. Objects of interest: What people, things, events, or concepts must be stored?

2. Properties: What facts describe each object?

3. Associations: How are objects connected?

4. Rules: How many objects may participate in an association, and is participation mandatory?

5. Identification: How can each occurrence be distinguished from others?

6. Time and change: Which facts are current, historical, or effective only during a period?

A requirement such as “a customer can place many orders” contains several modeling implications. Customer and Order are likely entity types. “Places” is a relationship. One customer may place zero, one, or many orders, while each order is normally placed by exactly one customer. The words “can” and “must” are important because they distinguish optional from mandatory participation.

A good requirement statement is testable and unambiguous. For example:

  • Each order must belong to exactly one customer.
  • A customer may have no orders or many orders.
  • Each order must contain at least one product.
  • A product may appear on many orders.
  • The quantity ordered must be a positive integer.

These statements can be translated into a conceptual schema and later into database constraints.

Core ER Concepts

Entity Types and Entity Occurrences

An entity is a distinguishable real-world object or concept about which data is stored. An entity type is a set of entities sharing common properties. Customer, Course, Invoice, Sensor, and Shipment are examples of entity types. A particular customer, such as customer C1042, is an entity occurrence or instance.

Entity types are commonly represented by rectangles in ER diagrams. A modeling decision should be based on business significance, not merely on whether a noun appears in a sentence. “Address” might be an attribute of Customer in one system, but a separate entity type when addresses are shared, historized, or independently managed.

Attributes

An attribute is a property that describes an entity or relationship. Customer may have CustomerID, Name, Email, and RegistrationDate. Attributes should have clear meanings and appropriate domains, such as date, integer, currency, or controlled code.

Important attribute classifications include:

  • Simple attribute: cannot be meaningfully divided, such as DateOfBirth.
  • Composite attribute: consists of components, such as Address containing Street, City, and PostalCode.
  • Single-valued attribute: one value for each occurrence, such as a product’s current list price.
  • Multivalued attribute: several values may exist, such as a person’s telephone numbers. This often becomes a separate entity or relationship in a relational design.
  • Stored attribute: recorded directly, such as Quantity and UnitPrice.
  • Derived attribute: calculated from other data, such as OrderTotal. Derived data should not be stored unnecessarily because duplicated calculations can become inconsistent.

Attribute names should be precise. “Status” without a definition is weak because different users may interpret it differently. A data dictionary should specify meaning, format, permitted values, nullability, and ownership.

Relationships

A relationship type is a meaningful association among entity types. Customer places Order, Employee supervises Employee, and Student enrolls in Course are relationships. A relationship occurrence links particular entity occurrences.

Relationships may be unary, binary, or ternary. A unary relationship involves one entity type, such as Employee supervises Employee. A binary relationship involves two entity types and is the most common form. A ternary relationship involves three entity types, such as Supplier supplies Part to Project, where the meaning may not be preserved by independently modeling three binary relationships.

Relationship attributes describe the association rather than either participating entity. In Enrollment, Grade and EnrollmentDate describe a student’s participation in a course. They do not describe the student alone or the course alone.

Cardinality and Participation

Cardinality specifies the maximum number of occurrences that may participate in a relationship. Common forms are one-to-one (1:1), one-to-many (1:N), and many-to-many (M:N).

Participation, also called minimum cardinality, specifies whether participation is optional or mandatory. A minimum of zero means optional participation; a minimum of one means mandatory participation. A precise notation is the pair (minimum, maximum).

Consider Customer–places–Order:

  • Customer participation: (0, N), because a new customer may have no orders.
  • Order participation: (1, 1), because each order must have exactly one customer.

Cardinality must be stated from both perspectives. “A customer places many orders” is incomplete unless the rule for orders is also given.

Business rules may change the model. If an order may be jointly owned by several customers, the relationship becomes M:N. If an order is created before a customer is assigned, the order’s participation may temporarily be optional. Models should represent actual policy rather than assumptions.

Resolving Many-to-Many Relationships

A conceptual M:N relationship is valid, but relational implementation normally resolves it through an associative entity. Student enrolls in Course becomes Enrollment, with StudentID and CourseID identifying a particular enrollment. Grade, EnrollmentDate, and CompletionStatus are attributes of Enrollment.

This transformation is not merely a technical trick. It recognizes that the association may have its own identity, attributes, lifecycle, and constraints. A unique constraint on (StudentID, CourseID) might enforce at most one current enrollment per student-course pair, although a separate offering or term entity may be needed when repeated enrollment is permitted.

Keys and Integrity Constraints

A superkey is any set of attributes that uniquely identifies an entity occurrence. A candidate key is a minimal superkey: no attribute can be removed without losing uniqueness. The primary key is the candidate key selected as the principal identifier. Other candidate keys are alternate keys.

A key should be stable, unique, minimal, and available whenever an entity is created. Natural keys, such as a national identification number, have business meaning. Surrogate keys, such as generated numeric identifiers, have no business meaning and can simplify integration, but they do not remove the need to enforce natural uniqueness where appropriate.

A composite key contains multiple attributes. For Enrollment, (StudentID, CourseID) may identify an occurrence if a student can enroll in a course only once. If enrollment is repeated by academic term, the key may be (StudentID, CourseID, TermID), or a separate EnrollmentID may be used with a uniqueness rule.

Important integrity constraints include:

  • Entity integrity: each entity occurrence has a non-null unique identifier.
  • Domain integrity: values conform to permitted types, ranges, and formats.
  • Referential integrity: a relationship reference must correspond to an existing related entity, unless the relationship is explicitly optional.
  • Business constraints: rules such as “quantity must be positive” or “a room cannot host overlapping bookings.”

Conceptual models express these rules semantically; later logical and physical designs implement them using keys, foreign keys, checks, unique constraints, triggers, application logic, or transaction controls.

Weak Entities and Identifying Relationships

A weak entity cannot be uniquely identified by its own attributes alone. Its identity depends on an owner entity and an identifying relationship. For example, an Order may contain OrderLine entities. LineNumber may be unique only within one order, so OrderLine is identified by (OrderID, LineNumber). Order is the owner, and contains is the identifying relationship.

A weak entity normally has:

  • a partial key, such as LineNumber;
  • total participation in its identifying relationship;
  • an owner whose key forms part of the weak entity’s full identifier.

Not every entity with a composite key is weak. An associative entity may have a composite key while remaining independently meaningful. The distinction depends on existence dependence and identification, not simply on the number of key attributes.

Weak entities are useful for invoices and invoice lines, buildings and rooms, and policies and policy clauses. They should not be used merely because an entity happens to have a convenient parent.

Enhanced Entity–Relationship Modeling

The EER model adds abstraction mechanisms for complex domains.

Specialization and Generalization

Specialization is a top-down process in which a superclass is divided into more specific subclasses. For example, Account may be specialized into SavingsAccount and BusinessAccount. Subclasses inherit the superclass’s attributes, identifier, and relationships, and may add their own properties.

Generalization is the reverse, bottom-up process of identifying common features among entity types. Car and Truck may be generalized into Vehicle when both share VehicleID, Manufacturer, and Model.

A subclass represents an “is-a” relationship, not merely a classification that could change freely. “Customer is a Person” may be valid when the system treats customers as persons with inherited attributes. “Customer has a preferred product” is not specialization; it is a relationship.

Disjointness and Completeness Constraints

Subclasses may be:

  • Disjoint: an occurrence can belong to at most one subclass, such as an employee being either full-time or part-time.
  • Overlapping: an occurrence may belong to multiple subclasses, such as a person being both Student and Employee.

Specialization may also be:

  • Total: every superclass occurrence must belong to at least one subclass.
  • Partial: some superclass occurrences may belong to no subclass.

These constraints must be based on business policy. A vehicle classification might be disjoint today but overlapping after the organization introduces hybrid categories. The model should document whether constraints are permanent, time-dependent, or subject to approval.

Category or Union Type

A category is a subclass whose members may come from different superclasses. For example, an Owner may be a Person or a Company. This is useful when one relationship has a common meaning for otherwise unrelated entity types. Category modeling can be difficult to implement and may require a common supertype, separate associations, or an explicit owner entity in the logical design.

A Method for Building a Conceptual Model

A disciplined process reduces omissions and ambiguity:

1. Define the system boundary and stakeholders.

2. Collect and normalize business statements.

3. Identify candidate entity types and exclude simple descriptors that do not require independent identity.

4. Identify attributes and define their domains.

5. Select candidate identifiers and document uniqueness assumptions.

6. Identify relationships and give each a precise verb phrase.

7. Specify minimum and maximum cardinalities from both directions.

8. Add relationship attributes and resolve genuine M:N relationships.

9. Identify weak entities and existence dependencies.

10. Evaluate specialization and generalization opportunities.

11. Validate the model using sample scenarios and “what-if” questions.

12. Record unresolved assumptions in a data dictionary and obtain stakeholder approval.

Validation should include insertion, update, and deletion scenarios. Ask whether the model can represent a new customer, an order with multiple products, a product with no orders, a discontinued item, and historical changes. If an important scenario cannot be represented without violating a rule, the model is incomplete.

Worked Example: University Course Registration

Suppose a university states:

  • Each student has a university identifier and may enroll in many course offerings.
  • Each course offering is for one course and one semester.
  • A course may have many offerings.
  • Each offering is taught by one or more instructors.
  • An instructor may teach many offerings.
  • A student receives a grade for an enrollment, when grading is complete.

The candidate entities are Student, Course, Offering, Instructor, and Enrollment. Offering is distinct from Course because the same course is delivered in different semesters and possibly by different instructors.

Relationships and constraints are:

  • Student enrolls in Enrollment: Student (0,N), Enrollment (1,1).
  • Offering has Enrollment: Offering (0,N), Enrollment (1,1).
  • Course schedules Offering: Course (0,N), Offering (1,1).
  • Instructor teaches Offering: Instructor (0,N), Offering (1,N), assuming team teaching is allowed.

Enrollment is an associative entity between Student and Offering. Its attributes include EnrollmentDate and Grade. A reasonable identifier is (StudentID, OfferingID), provided a student cannot enroll twice in the same offering. If withdrawals and re-enrollments require multiple records, an EnrollmentID and event history may be more appropriate.

The model exposes an important design issue: “each offering is taught by one or more instructors” requires mandatory participation for Offering, while an instructor may teach no current offerings. It also prevents the common error of attaching Grade to Student or Course, where its meaning would be incorrect.

Applied Case: Illustrative Retail and Recommendation Platform

Background

A fictional online retailer wants to combine transaction data with an AI recommendation service. The platform sells physical products, records orders, supports multiple delivery addresses, and stores recommendation events.

Problem

The existing spreadsheet system duplicates customer details across orders. Product identifiers are inconsistent, cancelled orders are mixed with completed orders, and recommendation analysts cannot determine whether a recommendation was shown, clicked, or purchased. The organization also wants customers to control use of their activity data.

Analysis

The core entity types are Customer, Address, Order, OrderLine, Product, Recommendation, and Consent. Customer–Order is one-to-many. Order–Product is many-to-many and therefore requires OrderLine. OrderLine stores Quantity and UnitPriceAtSale because the current product price may change after a purchase. A customer may have several addresses, and an order must reference the delivery address used at the time of dispatch; this may require an address snapshot or immutable historical address entity.

Recommendation should not be modeled as merely a Product attribute. It represents an event or decision involving a customer, a product, a model version, a timestamp, and an outcome. Consent records whether a customer permitted particular processing purposes, including personalization.

Approach and Solution

The conceptual schema includes:

  • Customer identified by CustomerID;
  • Product identified by ProductID;
  • Order identified by OrderID and associated with exactly one customer;
  • OrderLine weakly identified by (OrderID, LineNumber), associated with exactly one product;
  • Address associated with a customer, with an explicit rule for default and historical addresses;
  • Recommendation associated with Customer, Product, and ModelVersion;
  • Consent associated with Customer and a processing purpose, including effective dates and withdrawal status.

Business constraints include positive OrderLine quantity, nonnegative prices, valid recommendation timestamps, and no personalization processing after consent withdrawal where policy requires cessation. Access to consent and behavioral data is restricted according to role and purpose.

Outcome

The model eliminates ambiguous duplication, supports accurate sales analysis, enables reproducible recommendation evaluation by model version, and makes privacy decisions explicit. It also reveals that “customer” and “anonymous visitor” may need separate identities or a carefully governed identity-resolution process.

Learning Points

The case demonstrates that conceptual modeling is not limited to operational transactions. Events, model outputs, consent, and data lineage also require clear entities and relationships. AI systems inherit the strengths and weaknesses of the data model that supports them.

Challenges, Limitations, and Professional Practice

Conceptual modeling involves judgment. Natural-language requirements may be incomplete, contradictory, or politically sensitive. Different departments may use the same term differently. A model can also become too detailed, making stakeholder validation difficult, or too abstract, hiding operational constraints.

Temporal data presents a major challenge. “Customer address” may mean current address, address at order time, or every address ever used. The model must distinguish current state from history when auditability or legal evidence is required.

Null values require care. A missing value may mean unknown, not applicable, not yet collected, or deliberately withheld. These meanings should not be silently conflated.

Governance and ethics are also relevant. Identifiers should be minimized, sensitive attributes classified, and access controlled. Data models should support retention, correction, deletion where legally applicable, consent management, and audit trails. AI applications require attention to representativeness, provenance, and unfair use of proxy attributes. A technically valid relationship can still support harmful or unlawful processing.

Contemporary data platforms may use relational databases, document stores, graph databases, data warehouses, lakehouses, and feature stores. The conceptual model remains valuable across these technologies, although its implementation may differ. A graph-oriented application may represent relationships directly, while an analytical warehouse may use dimensional structures. These physical choices should follow clarified information requirements rather than replace them.

Best practices include using business language, documenting assumptions, distinguishing facts from derived values, validating with realistic examples, assigning data ownership, versioning models, and reviewing them as policies change. Tools can draw diagrams and generate schemas, but they cannot determine the organization’s meaning or ethical responsibilities.

Chapter Summary

Conceptual data modeling translates business requirements into an understandable, technology-independent representation of data. The ER model uses entities, attributes, relationships, keys, cardinality, and participation to describe information structures and rules. Candidate and primary keys identify entity occurrences, while integrity constraints protect uniqueness, domains, references, and business validity.

M:N relationships often become associative entities, and weak entities depend on owner entities for identification. EER modeling adds superclass–subclass structures through specialization and generalization, together with disjointness and completeness constraints. A reliable modeling process begins with requirements, tests assumptions against realistic scenarios, and records unresolved issues.

Conceptual models support operational systems, analytics, and AI applications. They also contribute to privacy, governance, auditability, and responsible data use. Their quality depends not only on diagram notation but on accurate business interpretation, stakeholder validation, and continuous maintenance.

Key Terms

Entity type: A class of distinguishable objects about which data is stored.

Entity occurrence: A particular instance of an entity type.

Attribute: A property describing an entity or relationship.

Composite attribute: An attribute made up of meaningful components.

Derived attribute: An attribute calculated from other stored facts.

Relationship type: A meaningful association among entity types.

Cardinality: The maximum number of occurrences allowed in a relationship.

Participation: The minimum involvement of an entity in a relationship.

Superkey: Any attribute set that uniquely identifies an occurrence.

Candidate key: A minimal superkey.

Primary key: The candidate key selected as the main identifier.

Alternate key: A candidate key not selected as the primary key.

Composite key: A key containing more than one attribute.

Weak entity: An entity whose identification depends on an owner entity.

Associative entity: An entity used to represent an M:N relationship.

Specialization: Dividing a superclass into subclasses.

Generalization: Combining similar entity types into a superclass.

Disjointness: Whether subclass memberships may overlap.

Completeness: Whether every superclass occurrence must belong to a subclass.

Conceptual schema: A technology-independent representation of information requirements.

Review Questions

Short Answer Questions

1. What is the difference between an entity type and an entity occurrence?

2. Define cardinality and participation.

3. What makes a candidate key different from a superkey?

4. Why are attributes such as Grade usually assigned to an associative entity?

5. What is a weak entity?

Long Answer Questions

1. Explain the process of developing a conceptual schema from business requirements.

2. Compare natural keys and surrogate keys, including advantages and risks of each.

3. Explain specialization, generalization, disjointness, and completeness with examples.

4. Describe how an M:N relationship is represented in a relational implementation.

5. Discuss why temporal information and historical states complicate conceptual modeling.

Analytical / Application Questions

1. Model a hospital scenario in which patients make appointments with doctors. State entities, key attributes, relationships, cardinalities, participation, and any relationship attributes.

2. A company says, “Each project has employees, and each employee can work on many projects.” Analyze whether an associative entity is needed and identify appropriate attributes and constraints.

3. Design a conceptual model for an AI recommendation service that must record users, items, recommendation events, model versions, feedback, and consent. Explain how your model supports auditability and privacy.

Multiple Choice Questions with Answers

Question 1

Which item best represents a relationship attribute?

A. Student name

B. Course title

C. Enrollment grade

D. Instructor identifier

Correct Answer: C. Enrollment grade

Question 2

A relationship in which one customer may place many orders, but each order belongs to one customer, is best described as:

A. One-to-one

B. One-to-many from Customer to Order

C. Many-to-many from Customer to Order

D. Unary

Correct Answer: B. One-to-many from Customer to Order

Question 3

Which statement about a candidate key is correct?

A. It may contain unnecessary attributes

B. It is a minimal superkey

C. It must always be numeric

D. It cannot be composite

Correct Answer: B. It is a minimal superkey

Question 4

Why is OrderLine commonly modeled as a weak entity?

A. It has no attributes

B. It cannot have relationships

C. Its identification depends on an order

D. It is always optional

Correct Answer: C. Its identification depends on an order

Question 5

What is the usual conceptual solution for a many-to-many Student–Course relationship when enrollment has attributes?

A. Delete the relationship

B. Create an associative entity such as Enrollment

C. Store all students in one attribute

D. Convert both entities into weak entities

Correct Answer: B. Create an associative entity such as Enrollment

Question 6

If every Order must have exactly one Customer, the participation of Order in the relationship is:

A. (0,1)

B. (1,1)

C. (0,N)

D. (1,N)

Correct Answer: B. (1,1)

Question 7

Which example is most suitable for specialization?

A. Customer places Order

B. Student enrolls in Course

C. Account divided into SavingsAccount and BusinessAccount

D. Product has a price

Correct Answer: C. Account divided into SavingsAccount and BusinessAccount

Question 8

An overlapping specialization permits an entity occurrence to:

A. Belong to no superclass

B. Belong to multiple subclasses

C. Have no identifier

D. Participate in only one relationship

Correct Answer: B. Belong to multiple subclasses

Question 9

Which constraint ensures that a reference corresponds to an existing related entity?

A. Domain integrity

B. Referential integrity

C. Derived integrity

D. Formatting integrity

Correct Answer: B. Referential integrity

Question 10

In the retail case, why should UnitPriceAtSale be stored on OrderLine?

A. Because product prices never change

B. To preserve the price applicable to the transaction

C. To identify the customer

D. To replace the product identifier

Correct Answer: B. To preserve the price applicable to the transaction

Database Management Systems
Chapter 2 of 15