DataDriven
LearnPracticeInterviewDiscussDaily
HelpContactPrivacyTermsSecurityiOS App

© 2026 DataDriven

Loading lesson...

  1. Home
  2. Learn
  3. Junk and Degenerate Dimensions

Junk and Degenerate Dimensions

Low-cardinality flags and transaction IDs need homes; junk and degenerate dims provide them

Low-cardinality flags and transaction IDs need homes; junk and degenerate dims provide them

Category
Data Modeling
Difficulty
advanced
Duration
25 minutes
Challenges
0 hands-on challenges

Topics covered: Orphan Attributes with No Natural Home, Building a Junk Dimension, Degenerate Dimensions in the Fact Table, When Junk Dimensions Grow, Defending Your Junk/Degenerate Design

Lesson Sections

  1. Orphan Attributes with No Natural Home

    The Problem Set up the scenario: 'The fact table has is_gift, is_prime, is_expedited, payment_method, and invoice_number. Where do these go? Leaving all five on the fact adds columns that every scan reads even when unused. Creating a dimension for each one is dimension explosion. The answer: consolidate the flags into a junk dimension, keep invoice_number as a degenerate dimension.' Deliver this in 15 seconds. It shows you know both patterns. What They're Really Testing These patterns are rarely

  2. Building a Junk Dimension

    When the interviewer points to five boolean flags on your fact table and asks 'where do these go?', they are testing whether you know the consolidation pattern. Saying 'leave them on the fact table' is a weak answer. Saying 'create five separate dimensions' is worse. The strong answer names the junk dimension pattern and designs one in 30 seconds. The Schema You Should Be Able to Write in 60 Seconds 32 rows How You Load It: The Detail Interviewers Probe Pre-population is the strong answer. It ma

  3. Degenerate Dimensions in the Fact Table

    Your degenerate dimension answer: 'A degenerate dimension stays in the fact table. No separate table. No surrogate key. invoice_number is unique per row with no additional attributes worth storing. Creating dim_invoice with one column and a surrogate key doubles storage for zero analytical benefit.' The key phrase is 'zero analytical benefit.' That is the Kimball justification for degeneration. The Decision: Which Attributes Stay on the Fact Table State the rule: 'If the attribute is unique per

  4. When Junk Dimensions Grow

    The follow-up the interviewer uses to probe depth: 'What happens when the business adds three more flags next quarter?' This tests whether you have thought about the combinatorial growth of junk dimensions and know when to split them. The Math the Interviewer Will Make You Do When to Split: The Threshold You Should Name The Follow-Up Trap The interview-winning answer for explosion: 'Junk dimensions work when the product of cardinalities stays under about 1,000. Beyond that, I would split into mu

  5. Defending Your Junk/Degenerate Design

    The interview signal for junk and degenerate dimensions is not drawing the schema. It is explaining why this design is correct. The interviewer will challenge your choices. Having the rationale ready is what separates pattern-appliers from pattern-defenders. Defense Playbook Vocabulary That Signals Seniority The Bridge Move Red Flag Phrases The closing move that ties the whole fact table together: 'So the final schema is: dimension FKs (customer_sk, product_sk, date_sk), one junk dim FK (order_f

Related

  • All Lessons
  • Practice Problems
  • Mock Interview Practice
  • Daily Challenges