Data Engineering Fundamentals · Data Engineering Foundations
22 cards
Analytical Data Modeling
-
Quick check
A sales target table stores exactly one row for each subcategory in each quarter. What is its grain?
AProduct and day, because sales themselves are recorded daily
Product and day is a finer row meaning that belongs to the sales table, not to this target table.
BSubcategory and quarter
Right. The grain is the exact combination that one row represents, which here is one subcategory in one quarter.
CCategory and year, once the quarterly rows are rolled up
Category and year is coarser than what one row actually stores, so it describes a later roll-up rather than the grain.
3 / 22
-
Quick check
A report shows revenue grouped by store city. Which part of the model supplies the city label?
AThe dimension table, which holds descriptive attributes
Right. Descriptive attributes such as location live in a dimension and are what the report groups and labels by.
BThe fact table, where the revenue rows themselves are stored
The fact table supplies the revenue values and the keys that reach the store; the descriptive label itself belongs to the dimension.
CThe measure, once it has been aggregated
Aggregating a measure produces a number, not the descriptive text used to group it.
6 / 22
-
Quick check
Which of these three fields behaves as a measure rather than as descriptive context?
ACustomer region, which says where the sale happened
A region locates the event and is used to filter and group; it is never summed.
BProduct category, which groups similar items together
A category groups similar items and provides context around the numbers.
CSales amount, which analysts add up by region and by category
Right. An amount is a value that analysts aggregate at a chosen dimensional context, which is exactly what a measure is.
8 / 22
-
Keep your progress in the app
That’s 3 of 8 quick checks. In the app they stay answered, and every lesson remembers where you left off.
-
Quick check
An operational system already holds every customer detail in normalized tables. Why does the reporting team still build a dimensional model on top of it?
ABecause normalized data becomes invalid once it leaves the source system
The normalized model remains correct and useful; it is simply optimized for updates rather than for reading many rows at once.
BBecause facts and their dimensions make aggregation direct
Right. Dimensional organization presents measures and their context so aggregation-oriented queries avoid the join work of the normalized shape.
CBecause a dimensional model removes any need for business keys at all
Business keys stay important: they tie warehouse rows back to the identity of the source entity.
11 / 22
-
Quick check
A product hierarchy is stored as three related tables: Product, Subcategory, and Category. Which shape is that, and what is the trade?
AA star dimension; it removes every join from the query path
A star keeps the whole hierarchy denormalized inside one dimension table, which is the opposite of this arrangement.
BA fact table; it stores the measures for each category
These tables describe entities rather than record events, so none of them is a fact table.
CA snowflake dimension; it eases storage maintenance but adds joins
Right. Normalizing a hierarchy across related tables is the snowflake shape, and it trades simpler storage maintenance for extra joins.
14 / 22
-
Quick check
Why does a warehouse dimension carry a surrogate key in addition to the business key that arrives from the source?
ASo several versions of one entity can be told apart
Right. Versions of the same entity share the business key, so a warehouse-assigned key is what makes each version individually addressable.
BSo the source system can decide which warehouse version is current
The warehouse manages its own versions; the source contributes the entity identifier, not the version history.
CSo descriptive attributes can be replaced by numeric measures
Keys identify rows and entities; they do not turn descriptive context into measures.
17 / 22
-
Quick check
A join on the business key alone returns three rows for one order line, because the product has three historical versions. What is happening, and what repairs it?
ANothing is wrong; divide the totals afterwards by the number of versions
The totals are already inflated, and a version count that changes over time cannot be relied on to undo the damage.
BThe measures are multiplied; join instead on the surrogate key of the version valid for that event
Right. Matching a single version-specific key restores the declared grain and attaches the description that was valid when the event happened.
CThe dimension is broken; redefine the fact grain as one row per dimension version
Redefining the grain changes what the fact table measures instead of fixing the relationship that multiplied its rows.
20 / 22
-
Quick check
Which summary separates grain, context, and history correctly?
AGrain fixes what one row means, dimensions supply context, and surrogate keys carry versions
Right. Those are the three distinct jobs: the grain defines row meaning, dimensions describe, and surrogate-keyed versions preserve historical description.
BGrain counts the dimensions, facts supply the labels, and business keys are dropped on load
Grain has nothing to do with how many dimensions exist, labels come from dimensions, and business keys are what tie warehouse rows to source identity.
CGrain sets the refresh schedule, measures describe entities, and history stays in the source system
Refresh cadence is an ingestion concern, measures are aggregated rather than descriptive, and the warehouse is what keeps analytical history.
22 / 22
-
8 quick checks · then the test
In the app, finishing the quick checks opens this lesson’s 10-question test, and the ones you miss come back exactly when you’re about to forget them.
The whole course, on your phone
Lessons you can read, audio you can listen to on the way to work, and practice that remembers what you got wrong.