Course 1.9 · Curriculum 2026.1
Data modelling in depth: the schema you will still like in year three
Design an object graph that survives the second and third thing the business asks for. Taught from an org carrying 90 custom objects, 1,781 custom fields and two parallel stock ledgers it is honest about.
- Estimated effort
- 6 hr
- Lessons
- 50
- Modules
- 8
- Material
- 6 hr
Estimated effort is the sum of the lesson and lab times in this version of the course. It is not video runtime, which is lower.
Canadian dollars. One learner, lifetime access to this course version. Tax extra.
1 lesson free to preview
This course does not issue a certificate on its own. It counts toward the paths listed below, and those do.
01What you will learn
8 capabilities, stated as things you can do
Each one is what you should be able to do at the end, not what the course covers. If an outcome is not testable, it is not an outcome.
- Decide between one object with record types and two objects, and state what each choice costs later.
- Design a junction object that reports correctly rather than one that double counts.
- Choose an external id, and make every load idempotent on it.
- Name the four places a relationship decision shows up: rollups, sharing, reporting and deletion.
- Model a record lifecycle without ending up with a field named Stage 2.
- Decide where a rate, a rule or a threshold lives: a field, a custom setting, custom metadata or a row.
- Recognise a schema holding two ledgers for the same fact, and say which one is load bearing.
- Document a schema so the next admin reads the intent, not only the field names.
02Curriculum
8 modules, 50 lessons
Every lesson shows its length and its type. A SCORM lesson looks like any other lesson, which is the point of ingesting packages rather than linking out to them.
8 modules · 50 lessons · 6 hr of material
Record types share a schema and its automation. A second object shares none of it. Both are correct answers to different questions.
- VideoRecord types share a schema, not a decisionRecord types divide the picklist values and the page layout. They do not divide the automation, the sharing model or the reporting.Preview6 min
- VideoOne object, many life cycles: when record types earn their keep7 min
- ReadingTwo objects, and the point where they diverge6 min
- VideoPage layouts forking on record type, and the maintenance cost nobody counts7 min
- VideoAutomation branching on record type, and the day it branches twice6 min
- LabLab: model one intake process as record types, then as two objects6 min
A many-to-many relationship reports correctly only when the junction is modelled as its own object with its own fields.
- VideoThe many-to-many nobody modelled, and the duplicate it produced7 min
- VideoA junction object with its own fields, not just two lookups6 min
- ReadingRoll-up counting through a junction, and where it doubles7 min
- VideoSharing through a junction: whose access wins6 min
- VideoDeleting one side of a junction, and what happens to the other7 min
- LabLab: build a junction object and prove the count is right6 min
A relationship is one decision that pays or costs in four different places: rollups, sharing, reporting and deletion. Name all four before you build it.
- VideoRollups: the first place a lookup costs you6 min
- VideoSharing: what a lookup does not inherit7 min
- VideoReporting: the join a report type has to declare6 min
- VideoDeletion: cascade, restrict, and the lookup that quietly orphans7 min
- ReadingThe four places, side by side, on one relationship6 min
- LabLab: trace one relationship through all four places7 min
- VideoRedesigning a relationship after you have seen all four costs6 min
An external id is the difference between a re-run that updates and a re-run that duplicates. Choose it before the first record loads.
- VideoChoosing an external id before the first record loads6 min
- VideoUpsert on an external id, and the re-run that does not duplicate7 min
- ReadingExternal ids across objects: keeping one source of truth6 min
- VideoThe external id that was not unique, and what it cost7 min
- VideoIdempotent loads at scale: the pattern that survives a retry6 min
- LabLab: load the same dataset twice and prove nothing duplicated7 min
A field, a custom setting, custom metadata, or a row. Five hard-coded rates in one engine turned out to be a schema decision, not a formula bug.
- VideoA field, a custom setting, custom metadata, or a row: four places, one decision6 min
- VideoCustom metadata as a rate table: the tax engine caseFive of eight hard-coded rates in a real tax engine turned out to sit inside formula fields, which can reference custom metadata but not a custom object. That fact decided the whole rebuild.6 min
- ReadingWhy a formula field can reference custom metadata and not a custom object7 min
- VideoCustom settings: what they are still for6 min
- VideoA province-by-tax-class table: 28 records instead of 28 formulas7 min
- LabLab: move a hard-coded rate into custom metadata6 min
- VideoThe value that should have been a row, not a picklist7 min
A lifecycle modelled clearly the first time never grows a second picklist wearing a number. This module is how to see the stages before you build the field.
- VideoReading a lifecycle before you model it6 min
- VideoThe picklist that grew a second version, and why6 min
- ReadingStatus, stage and sub-status: picking one vocabulary7 min
- VideoA state machine as a picklist, guarded by validation rules6 min
- LabLab: model a five-stage order lifecycle end to end7 min
- VideoMigrating a lifecycle without breaking every report built on the old one6 min
One organising question runs the whole design: where is the inventory value now? A real org answered it with two ledgers, and documented both.
- VideoThe design axiom: where is the inventory value now?Every inventory screen, state and rollup in this case study answers the same question. Naming it first is what kept the schema coherent.7 min
- VideoA state machine for stock: placed, warehouse, in transit, on site, consumed, invoiced6 min
- ReadingTwo parallel stock ledgers, both real, both audited, and the documentation says soA migration and a later system install left the org carrying two stock ledgers. Both are real. The schema says so instead of pretending otherwise.6 min
- VideoThe transfer is the costing event: a rule captured verbatim7 min
- LabLab: reconcile two ledgers and document which one is load bearing6 min
- VideoThe rule that stops a schema from ever inventing a third ledger7 min
A schema with no written intent is a schema someone else will guess at. Documentation is the last design decision, not an afterthought.
- VideoField descriptions and help text, written for the next admin6 min
- VideoA data dictionary that explains intent, not just field names7 min
- ReadingThe schema decision log: what to write down and where6 min
- LabLab: document an existing custom object properlyThe capstone lab for the course. Take an unfamiliar object graph and produce the decision log a new admin would need on day one.38 min
- VideoHanding a schema to someone who will extend it without you6 min
- QuizCheck: data modelling in depth14 min
03Before you start
What you need first
Assumed knowledge and setup
- Course 1.3. This course starts where the lookup decision there ended.
- A Developer Edition org you can create objects, fields and relationships in.
- No code. Every decision here is made in Object Manager and defended in writing.
Courses that come first
Part of these paths
- Salesforce AdministratorShareCo Certified Administrator
- The Full StackShareCo Certified Platform Engineer
04Who teaches it
Ege Taskent
Salesforce Developer, Certified Platform Administrator
The credential, and the rollout. The half of an implementation where people actually start using the thing.
Salesforce Certified Platform Administrator
05Reviews
No learner reviews yet
This course has not been taken by enough people to publish an honest rating, and we will not print invented quotes on a page that sells verification discipline. Here is what we can evidence instead.
- Assessment
- Lesson checks onlyThis course carries lesson checks. The certificate is issued by the path assessment, not by this course.
- Curriculum version
- 2026.1You enrol into a version. Content changes do not move you mid-course, and your required-lesson count is snapshotted at enrollment.
- Refunds
- 14 daysFull refund within 14 days if you have completed under a quarter of the required lessons. Stated here rather than in a footer.
Start 1.9
Enrol as an individual, or buy seats and assign this course to your team. Progress is reported per lesson, per module and per path.
- 6 hr estimated effort, labs included
- Lifetime access to the version you enrol in
- A ShareCo certificate is not a Salesforce certification