
Salesforce Data Modeling Basics: A Friendly Starter Guide
New to data modeling in Salesforce? Think of it like building with Lego: you define the objects (the blocks), add fields (details on each block), and connect them with relationships so your business process makes sense in the CRM. This beginner guide explains the core pieces in plain English, gives you a simple example model to copy, and shares a 60-minute practice plan.
What a “data model” means in Salesforce
- Objects: Tables like Account, Contact, Opportunity, or any custom object you create.
- Fields: Columns on those objects (text, picklist, number, date, etc.).
- Records: Rows—each real person, company, or deal.
- Relationships: Links between records (one-to-many, many-to-many).
For an easy product overview, see our Sales Cloud Basics guide.
Standard objects you’ll use on day one
- Lead → early interest you’re qualifying
- Account → the company/household
- Contact → the person at that company
- Opportunity → the deal you’re working
- Activity → tasks, emails, meetings
- Case → support issue (if you use Service)
These objects already relate sensibly (e.g., an Account has many Contacts and Opportunities), so start there before inventing new ones.
When to create a custom object (and when not to)
Create a custom object when the thing you’re tracking isn’t just an attribute of something else and needs its own lifecycle (statuses, ownership, reports).
Examples: Projects, Subscriptions, Assets, Deliverables, Installations.
Avoid custom objects when a field (picklist/checkbox/date) on an existing object will do.
Relationship types you’ll actually use
- Lookup (flexible, optional): Child points to a parent, but both stand alone. Deleting the parent doesn’t delete the child. Use when the child should survive on its own.
- Master-Detail (tighter, governed): Child belongs to a parent (ownership, shared security). Deleting the parent deletes the child; you also get roll-up summary fields on the master. Use when the child has no meaning without the parent.
- Many-to-Many: Use a junction object that has two master-detail fields—one to each parent (e.g., Contact ↔ Project).
- External/Indirect Lookup: Relate External Objects (data living outside Salesforce) when you integrate later.
If you’re new to low-code logic on top of the model, bookmark our Formulas & Validations (Intermediate).
Fields that keep models clean
- Picklists (with Global Value Sets) to keep values consistent
- Formula fields for smart read-only values (e.g., Account tier label)
- Roll-Up Summary fields (only on master-detail) for counts/sums/min/max
- Validation rules to stop bad saves (e.g., require Next Step in late stages)
- Lookup filters to prevent linking the wrong records
Security matters even at the field level. If that’s new, skim Salesforce Security Review: FLS & Auditing.
A simple example model you can copy (Projects & Deliverables)
You’re a services team. You want to track Projects, the Deliverables inside each project, and which Contacts are on the project team.
Objects & relationships
- Project__c (custom)
- Fields:
Status
(picklist: Planned/In Progress/On Hold/Complete),Start Date
,Target End Date
,PM
(Lookup to User),Budget (Currency)
,Client Account
(Lookup to Account)
- Fields:
- Deliverable__c (custom; master-detail to Project__c)
- Fields:
Type
(picklist),Due Date
,Owner (Lookup to User)
,Complete? (Checkbox)
- Roll-ups on Project__c:
Deliverables Count
,Completed Deliverables
- Fields:
- ProjectMember__c (junction object; master-detail to Project__c and master-detail to Contact)
- Fields:
Role
(picklist: Executive Sponsor, SME, Stakeholder)
- Fields:
Why this works
- Project → Deliverable is master-detail because deliverables don’t exist without a project (and you get roll-ups).
- Contact ↔ Project is many-to-many via ProjectMember__c so a person can join multiple projects with a defined role.
Two helpful extras
- Validation rule on Deliverable: require
Due Date
whenComplete? = FALSE
. - Formula on Project: a progress bar =
Completed Deliverables / Deliverables Count
(guard for divide-by-zero).
Modeling tools that help (no code)
- Schema Builder → drag-and-drop objects/relations; great for explaining the model to stakeholders.
- Object Manager → define fields, validation, and page layouts.
- DevOps Center → package related changes into a work item and move them between sandboxes and production with history.
- Duplicate Management → keep Accounts/Contacts clean from day one.
If you plan to connect external systems later, start with our Salesforce API Basics.
A 60-minute practice plan
0–10 min: Write three sentences that describe what you need to track (the nouns become objects; the verbs/phrases hint at relationships).
10–25 min: In Schema Builder, sketch two objects and one relationship (lookup vs. master-detail).
25–45 min: Add five fields per object (mix of text, picklist, number, date). Add one validation rule and one formula.
45–60 min: Create five sample records and test your rules. Build a simple report: “Projects with over-due Deliverables.”
Common beginner pitfalls (and easy fixes)
- Too many objects: Try a field first. Create a custom object only if the thing has its own lifecycle and reporting.
- Required everywhere: Make fields required by stage/context, not on every layout.
- Layouts are tidy but reports leak PII: Lock down Field-Level Security as well as layouts.
- Junction object forgotten: For true many-to-many, a junction is cleaner than stuffing IDs in text fields.
- No naming conventions: Use clear labels and consistent API Names (e.g.,
ProjectMember__c
,Role__c
).
For broader org hygiene (page speed, access, backups), this checklist helps: Top 10 Tips for Salesforce Administrators.
What “good” looks like
- A small set of well-named objects
- Relationships that match reality (and are explained on one slide)
- A few picklists and validations that guide users
- Roll-ups and formulas that make reports obvious
- Field-level security that keeps sensitive data where it belongs
Start small, ship something, and iterate with real feedback. If you want a second set of eyes on your data model—or a working session to map objects and relationships—Revenue Ops can help you get it right the first time.