Imagine una tabla universitaria donde una celda enumera todos los cursos de un estudiante separados por comas, y el teléfono y la dirección se mezclan. Si alguien cambia su apellido o se muda, tendrías que buscar y arreglar esa cadena en muchos lugares. La normalización es la división deliberada de datos en tablas y relaciones para eliminar duplicaciones, evitar contradicciones y simplificar el mantenimiento de la base de datos.
La regla 1NF es simple: cada celda contiene un valor indivisible de un dominio. No hay "listas separadas por comas" en un campo; use filas separadas o una tabla separada para eso.
2NF importa cuando la clave principal es compuesta. Cada atributo que no sea clave debe depender de la clave completa, no de parte de ella. Si la clave es el par "estudiante + curso", entonces la duración del curso depende únicamente del curso: almacenarlo en la fila de inscripción significa copiar el mismo valor y correr el riesgo de desviarse.
3NF prohíbe las dependencias transitivas: una columna sin clave no debe depender de otra columna sin clave. Si un estudiante tiene "cityid" y "cityname" está duplicado junto a él, el nombre de la ciudad depende del identificador de la ciudad, no de la clave principal del estudiante. El nombre debe estar en una tabla de búsqueda separada.