1NF vs 2NF vs 3NF

La normalización es un proceso que se lleva a cabo para minimizar las redundancias que están presentes en los datos en bases de datos relacionales. Este proceso dividirá principalmente tablas grandes en tablas más pequeñas con menos redundancias. Estas tablas más pequeñas estarán relacionadas entre sí a través de relaciones bien definidas. En una base de datos bien normalizada, cualquier alteración o modificación en los datos requerirá modificar solo una tabla. La primera forma normal (1NF), la segunda forma normal (2NF) y la tercera forma normal (3NF) fueron introducidas por Edgar F. Codd, quien también es el inventor del modelo relacional y el concepto de normalización.

¿Qué es 1NF?

1NF es la primera forma normal, que proporciona el conjunto mínimo de requisitos para normalizar una base de datos relacional. Una tabla que cumple con 1NF asegura que en realidad representa una relación (es decir, no contiene ningún registro que se repita), pero no existe una definición universalmente aceptada para 1NF. Una propiedad importante es que una tabla que cumple con 1NF no puede contener ningún atributo que tenga un valor relacional (es decir, todos los atributos deben tener valores atómicos).

¿Qué es 2NF?

2NF es la segunda forma normal utilizada en bases de datos relacionales. Para que una tabla cumpla con 2NF, debe cumplir con 1NF y cualquier atributo que no forme parte de una clave candidata (es decir, atributos no primos) debe depender completamente de cualquiera de las claves candidatas de la tabla.

¿Qué es 3NF?

3NF es la tercera forma normal utilizada en la normalización de bases de datos relacionales. De acuerdo con la definición de Codd, se dice que una tabla está en 3NF, si y solo si, esa tabla está en la segunda forma normal (2NF), y cada atributo en la tabla que no pertenece a una clave candidata, debería depender directamente en cada clave candidata de esa tabla. En 1982, Carlo Zaniolo produjo una definición expresada de manera diferente para 3NF. Las tablas que cumplen con el 3NF generalmente no contienen anomalías que se producen al insertar, eliminar o actualizar registros en la tabla.

¿Cuál es la diferencia entre 1NF y 2NF y 3NF?

1NF, 2NF y 3NF son formas normales que se utilizan en bases de datos relacionales para minimizar las redundancias en las tablas. El 3NF se considera una forma normal más fuerte que el 2NF, y se considera una forma normal más fuerte que el 1NF. Por lo tanto, en general, obtener una tabla que cumpla con el formulario 3NF requerirá descomponer una tabla que esté en el 2NF. Del mismo modo, obtener una tabla que cumpla con 2NF requerirá descomponer una tabla que esté en 1NF. Sin embargo, si una tabla que cumple con 1NF contiene claves candidatas que solo están formadas por un único atributo (es decir, claves candidatas no compuestas), dicha tabla cumpliría automáticamente con 2NF. La descomposición de tablas dará como resultado operaciones de unión adicionales (o productos cartesianos) al ejecutar consultas. Esto aumentará el tiempo computacional. Por otro lado, las tablas que cumplen con formas normales más fuertes tendrían menos redundancias que las tablas que solo cumplen con formas normales más débiles.