Data Models and Conceptual Design
From the https://www.kanopy.com/en/sfsu/watch/video/10910624 curriculum
Data Models and Conceptual Design
TL;DR
Data models are blueprints for organizing information, helping you understand and communicate how data elements relate to each other. Conceptual design is the first step, focusing on what data is important and how it naturally connects, without getting bogged down in technical details. It uses tools like Entity-Relationship (ER) diagrams to visually map out these relationships.
1. The Mental Model
Think of a data model as an architect's plan for a building. Before any concrete is poured or wires are laid, the architect sketches out the rooms, their functions, and how they connect. Similarly, a data model sketches out your data: what pieces of information exist, and how they relate to each other.
2. The Core Material
Conceptual design is all about figuring out what data your system needs to store and how those pieces of data naturally connect to each other. You're not worrying about databases, programming languages, or specific technical details yet. Instead, you're focusing on the business reality.
2.1 Entities
An entity is a real-world object or concept that you want to store information about. Think of nouns.
Examples: A Customer, an Order, a Product, an Employee.
2.2 Attributes
Attributes are the characteristics or properties of an entity. Think of adjectives describing a noun.
Examples for a Customer entity: CustomerID, CustomerName, EmailAddress, PhoneNumber.
2.3 Relationships
Relationships describe how two or more entities are connected. These are usually verbs or phrases that link entities.
Examples: A Customer places an Order. An Order contains Products. An Employee manages a Department.
Relationships have cardinality, which tells you how many instances of one entity can relate to instances of another.
* One-to-one (1:1): A Husband has one Wife, and a Wife has one Husband.
* One-to-many (1:M): A Customer can place many Orders, but an Order is placed by one Customer.
* Many-to-many (M:N): A Student can enroll in many Courses, and a Course can have many Students.
2.4 Entity-Relationship (ER) Diagrams

Photo by Ann H on Pexels
ER diagrams are the primary tool for conceptual design. They visually represent entities, their attributes, and the relationships between them.
Here's how common symbols look:
* Rectangle: Represents an entity.
* Oval: Represents an attribute (often connected to an entity).
* Diamond: Represents a relationship between entities.
* Lines: Connect entities to relationships and relationships to attributes.
* Crow's foot notation (or similar): Used on the lines to show cardinality (1:1, 1:M, M:N).
Let's illustrate with an ER diagram for a simple online store:
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--o{ ORDER_ITEM : "includes (1 or more)"
PRODUCT }o--|| ORDER_ITEM : "is part of (many)"
CUSTOMER {
VARCHAR CustomerID PK
VARCHAR Name
VARCHAR Email
}
ORDER {
VARCHAR OrderID PK
VARCHAR OrderDate
DECIMAL TotalAmount
}
PRODUCT {
VARCHAR ProductID PK
VARCHAR Name
DECIMAL Price
}
ORDER_ITEM {
VARCHAR OrderItemID PK
INT Quantity
DECIMAL UnitPrice
}
In this diagram:
* CUSTOMER, ORDER, PRODUCT, and ORDER_ITEM are entities.
* CustomerID, Name, Email are attributes of CUSTOMER.
* The places relationship between CUSTOMER and ORDER shows that one customer can place many orders (1:M).
* The includes relationship between ORDER and ORDER_ITEM shows that one order can include one or more order items (1:M).
* The is part of relationship between PRODUCT and ORDER_ITEM shows that one product can be part of many order items (1:M). An ORDER_ITEM always refers to one PRODUCT.
Notice that ORDER_ITEM acts as a linking entity or junction table to resolve the many-to-many relationship that would otherwise exist directly between ORDER and PRODUCT (an order has many products, and a product can be in many orders).
3. Worked Example
Let's design a conceptual model for a simple library system.
Step 1: Identify Entities
What are the main "things" in a library we need to track?
* Book
* Borrower (the person checking out books)
* Loan (the act of a book being checked out by a borrower)
Step 2: Identify Attributes for Each Entity
* Book: BookID, Title, Author, ISBN, PublicationYear
* Borrower: BorrowerID, Name, Address, PhoneNumber, Email
* Loan: LoanID, LoanDate, ReturnDate, DueDate
Step 3: Identify Relationships and Cardinality
* A Borrower takes a Loan. A borrower can take many loans, but a loan is for only one borrower. (1:M)
* A Book is part of a Loan. A book can be part of many loans (over time), but a loan is for only one specific book at a time. (1:M)
Let's re-evaluate the "Book is part of a Loan" relationship carefully. If one loan is for one book, and one book can be on many loans (over time), then we have:
BORROWER --(1:M)-- LOAN
BOOK --(1:M)-- LOAN (meaning one BOOK can appear in many LOAN records, and one LOAN record is for one BOOK instance).
This looks good!
4. Key Takeaways
- Conceptual design focuses on "what" data is needed and "how" it relates, not "how" it's stored.
- Entities are real-world objects or concepts you track, like nouns.
- Attributes are the properties of entities, like adjectives.
- Relationships describe how entities connect, often with verbs.
- Cardinality defines the number of instances related between entities (1:1, 1:M, M:N).
- ER diagrams are visual tools for showing entities, attributes, and their relationships.
- Many-to-many relationships are often resolved into two one-to-many relationships via a linking entity.
Common mistakes to avoid:
- Jumping straight to database tables before understanding the business logic.
- Confusing entities with attributes (e.g., trying to make "email" an entity instead of an attribute of "customer").
- Forgetting to define the cardinality of relationships, which is crucial for accuracy.
- Overlooking implicit relationships or creating redundant ones.
5. Now Try It
Imagine you're designing a data model for a small veterinary clinic. They need to track information about pets, their owners, and the appointments they have.
Your task is to:
1. Identify at least three main entities.
2. List at least three relevant attributes for each entity.
3. Describe the relationships between these entities and state their cardinality (e.g., "Owner has Pet, 1:M").
Success looks like a clear list of entities with their attributes and accurately described relationships with correct cardinality. You should be able to explain why you chose each entity and attribute.
Frequently asked about Data Models and Conceptual Design
More from https://www.kanopy.com/en/sfsu/watch/video/10910624
Get the full https://www.kanopy.com/en/sfsu/watch/video/10910624 curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Create Free Account