By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
(Picklist, Formula, Roll-Up Summary, Lookup vs. Master-Detail)
You’re a Salesforce Admin. Your org is growing, and users are drowning in spreadsheets, sticky notes, and "shadow IT" (Google Sheets, Notion, or worse—Excel macros). Leadership wants a single source of truth for things like: - Project tracking (not just Opportunities) - Employee onboarding (beyond standard HR objects) - Custom inventory management (for a retail team) - Event registrations (for a marketing team)
Custom Objects are your Lego blocks. Fields are how you store data inside those blocks. Field Types determine what kind of data you store (text, numbers, relationships, calculations) and how it behaves.
Why this matters in production:- If you mess up relationships (Lookup vs. Master-Detail), data integrity breaks. Example: Deleting an Account deletes all related Contacts (Master-Detail) vs. leaving them orphaned (Lookup).- If you misuse Roll-Up Summaries, reports slow to a crawl. They recalculate in real-time—great for accuracy, terrible for performance if overused.- If you hardcode picklist values, global changes become a nightmare. (Ever had to update 50 picklists manually? Don’t.) - If you don’t use Formulas, users waste hours on manual calculations. Example: A "Discount %" field that auto-calculates based on Opportunity Stage.
Real-world scenario:You inherit a Salesforce org where the Sales team tracks "Deals" in a custom object, but: - The "Deal Amount" field is a text field (users type "$10,000" instead of 10000).- The "Deal Owner" is a text field (users type names, leading to duplicates).- The "Total Deals Won" on the Account page is manually updated (and always wrong).- The "Deal Stage" picklist has 15 values, but only 3 are used.
Your mission: Fix this mess without breaking existing reports, dashboards, or integrations.
Project__c
Employee_Onboarding__c
Event_Registration__c
DateTime
Create a custom "Deal" object with: 1. A Master-Detail relationship to Account (so deleting an Account deletes its Deals).2. A Roll-Up Summary on Account to show "Total Deal Amount." 3. A Formula field to calculate "Discounted Amount." 4. A Picklist for "Deal Stage" with validation.
Deal
Deals
Deal__c
Tracks sales deals not covered by Opportunities.
Deal Name
DEAL-{0000}
Allow Reports
Allow Activities
Track Field History
Master-Detail Relationship
Account
Account__c
Read/Write
✅ Verify:- Go to an Account record → Related tab → You should see a "Deals" related list.- Try creating a Deal → The "Account" field is required.
Currency
Deal Amount
Deal_Amount__c
16
2
Picklist
Deal Stage
Deal_Stage__c
Prospecting
Qualification
Proposal
Negotiation
Closed Won
Closed Lost
Formula
Discounted Amount
Discounted_Amount__c
plaintext Deal_Amount__c * (1 - Discount_Percent__c / 100)
Discount_Percent__c
Roll-Up Summary
Total Deal Amount
Total_Deal_Amount__c
SUM
✅ Verify:- Create 3 Deals under an Account with amounts: $100, $200, $300.- Go to the Account → The Total Deal Amount should show $600.
$100
$200
$300
$600
TEXT(Deal_Stage__c)
"Prospecting"
PascalCase__c
Snake_Case__c
Start_Date__c
Verb_Noun
Closed_Won
In_Progress
"Closed Won"
❌ Text (not calculated).
"You need to ensure deleting an Account deletes all related Deals. Which relationship?"
❌ Lookup (child records remain).
"How do you standardize picklist values across multiple objects?"
❌ Copy-paste values (maintenance nightmare).
"A Roll-Up Summary isn’t calculating. What’s the most likely cause?"
You have a custom "Project" object with a Lookup relationship to Account. Users complain that deleting an Account leaves orphaned Projects. How do you fix this without breaking existing reports?
Lookup
Master-Detail
✅ Why it works:- Master-Detail enforces cascading deletes, so deleting an Account deletes its Projects.- Existing reports may need updates (e.g., filters on AccountId), but the data model is now correct.
AccountId
Auto Number
PROJ-{0000}
Always test in a Sandbox first. Changing field types (e.g., Lookup → Master-Detail) can break integrations, reports, and Flows. Backup your metadata before making changes.
Now go build something awesome. ?
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.