**Natural keys**: Business identifiers (product_code, SSN); can change; composite; meaningful. **Surrogate keys**: System-generated (auto-increment, UUID); stable; single column; no business meaning. **Why surrogate for warehousing**: SCD Type 2 requires stable PK when natural key changes; simpler joins (single int vs. composite); hash-based dedup. **Why keep natural**: Validation, debugging, audit. **Trade-off**: Surrogate adds column; natural can leak PII....
The complete answer continues with detailed implementation patterns, architectural trade-offs, and production-grade considerations. It covers performance optimization strategies, common pitfalls to avoid, and real-world examples from companies like BCG. The answer also includes follow-up discussion points that interviewers commonly explore.
Continue Reading the Full Answer
Unlock the complete expert answer with code examples, trade-offs, and pro tips - plus 1,863+ more.
Or upgrade to Platform Pro - $39
Engineers who used these answers got offers at
AmazonDatabricksSnowflakeGoogleMeta
According to DataEngPrep.tech, this is one of the most frequently asked SQL interview questions, reported at 1 company. DataEngPrep.tech maintains a curated database of 1,863+ real data engineering interview questions across 7 categories, verified by industry professionals.