Reviewed by Aditya Kumar · Last reviewed 2026-03-24
**PK**: Uniquely identifies row; NOT NULL + unique. Surrogate (auto-increment) vs. natural. Surrogate preferred for stability. **FK**: References PK in another table; referential integrity. Index FKs for join performance. **Composite**: Multiple columns for uniqueness—e.g.,...
PK: Uniquely identifies row; NOT NULL + unique. Surrogate (auto-increment) vs. natural. Surrogate preferred for stability.
FK: References PK in another table; referential integrity. Index FKs for join performance.
Composite: Multiple columns for uniqueness—e.g., (order_id, line_item_id). Use when single column insufficient.
Trade-off: Over-normalization hurts query patterns; balance with denormalization for analytics.
Pro-Move: Discuss when to use surrogate vs. natural; mention indexing FKs for performance.
According to DataEngPrep.tech, this is one of the most frequently asked General/Other interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.