Desarrollador de Bases de Datos y SQL: pregunta de entrevista

¿Cuándo normalizas o desnormalizas datos?

Normaliza datos transaccionales para evitar anomalías y mantener una fuente de verdad; desnormaliza deliberadamente por rendimiento medido o analítica, con propietario y sincronización fiable.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

La normalización elimina la redundancia para que cada hecho se guarde una vez: la dirección de un cliente vive en una fila, y cambiarla no puede dejar una copia obsoleta en otro sitio. Es el valor por defecto correcto para datos transaccionales porque evita anomalías de actualización y mantiene los invariantes aplicables con restricciones. La desnormalización copia o precalcula datos para abaratar lecturas concretas, y es un intercambio deliberado: cada copia necesita dueño, ruta de sincronización y tolerancia al retraso. Pertenece a esquemas de informes, cachés y modelos de lectura, o a una ruta caliente donde un coste de join medido lo justifica, nunca como forma inicial de la fuente de verdad.

Ejemplo

Un sistema de pedidos guarda los datos del cliente una vez y los une al leer; un warehouse de informes mantiene una tabla de pedidos desnormalizada con nombre y segmento del cliente copiados, reconstruida cada noche desde la fuente normalizada. Cuando el join de cinco tablas de la página de checkout midió 80 ms, se añadió un resumen de pedido materializado con total mantenido por trigger solo para esa página, documentado como dato derivado con su regla de refresco.

Errores frecuentes

  • Desnormalizar el esquema transaccional desde el principio por un rendimiento imaginado.
  • Copiar un campo en tres tablas sin proceso que las mantenga sincronizadas.
  • Normalizar un esquema de informes, de modo que cada panel necesita un join de doce tablas.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador de Bases de Datos y SQL