Data Analyst Interview Question

Why are reporting tables usually denormalized when transactional databases are normalized?

What the interviewer is probing, how to structure your answer, and a spoken example you can adapt.

Quick answer

Normalization optimizes for writes and integrity, so a transactional database avoids duplicating data and updates one row in one place. Reporting optimizes for reads across huge scans, where every join costs time and every extra table costs the analyst clarity. A denormalized star schema means fewer joins, faster queries on columnar storage, and column names an analyst can understand without a data dictionary.

Why interviewers ask this

This checks whether you understand why a separate analytics layer exists at all, rather than treating it as a convenience copy of production. Interviewers want the write versus read optimization framing, the point that columnar compression makes duplicated dimension values cheap, and awareness that querying the production database directly is both slow for you and operationally risky for everyone else.

How to structure your answer

  • Contrast the workload each design is optimized for.
  • Explain why joins are costly at analytical scale.
  • Add the usability argument for analysts.
  • Mention columnar compression making duplication cheap.
  • Note why querying production directly is a bad idea.

Example answer

Spoken example, first person

They are solving different problems. A transactional database is built for lots of small writes with strict integrity, so normalizing means a customer's address exists once and updating it is one write. An analytics table is built for scanning millions of rows at a time, where every join is a cost and a fifteen table join is both slow and hard to get right. So we denormalize into facts and conformed dimensions, which cuts joins and gives analysts readable column names instead of a schema diagram and three lookup tables. Columnar storage makes this cheap, because repeating a country string across millions of rows compresses down to almost nothing. The other reason is operational. Running a heavy analytical scan against the production database competes with the application for resources, and I have seen an ad hoc query take a checkout service down. Even ignoring modeling entirely, the analytics workload belongs somewhere it cannot hurt customers.

Walking into this interview soon? GhostPilot listens to your live call, spots the question the moment it is asked, and puts a structured answer on your screen in real time. Try it on your next mock, or grab a $29 Session Pass, no subscription, for the real thing.

See how it works

Follow-up questions to expect

  • What is a conformed dimension and why does it matter?
  • When would you keep a normalized structure in the warehouse?
  • How do you handle a metric that needs data from two fact tables?

Related data analyst questions

Your interviewer will ask their own version of this. Paste your actual job description into the free Question Predictor and get the 20 questions that role is most likely to ask, with what each one is really probing.

Predict my questions

Rehearse the hard questions before they are asked

Practise with a live copilot, then walk in ready. A $29 Session Pass gets you through the interview with no subscription and no lock-in.

Get GhostPilot