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 las bases de datos relacionales. Este proceso dividirá principalmente las tablas grandes en tablas más pequeñas con menos redundancias. Estas tablas más pequeñas se relacionarán 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á la modificación de una sola tabla. Edgar F. Codd, quien también es el inventor del modelo relacional y el concepto de normalización, introdujo la primera forma normal (1NF), la segunda forma normal (2NF) y la tercera forma normal (3NF)..
¿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 realmente representa una relación (es decir, no contiene ningún registro que se repita), pero no existe una definición aceptada universalmente 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 las bases de datos relacionales. Para que una tabla cumpla con 2NF, debe cumplirse con 1NF y cualquier atributo que no sea parte de ninguna clave candidata (es decir, atributos no principales) debe depender completamente de cualquiera de las claves candidatas en la tabla.
Que 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, solo si esa tabla está en la segunda forma normal (2NF), y todos los atributos de la tabla que no pertenezcan a una clave candidata deben depender directamente en cada clave candidata de esa mesa. 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. 3NF se considera como una forma normal más fuerte que la 2NF, y se considera como una forma normal más fuerte que 1NF. Por lo tanto, en general, obtener una tabla que cumpla con el formulario 3NF requerirá descomponer una tabla que está en la 2NF. De manera similar, obtener una tabla que cumpla con el 2NF requerirá descomponer una tabla que está en el 1NF. Sin embargo, si una tabla que cumple con 1NF contiene claves candidatas que solo están compuestas por un solo atributo (es decir, claves candidatas no compuestas), dicha tabla cumpliría automáticamente con 2NF. La descomposición de las tablas dará como resultado operaciones de unión adicionales (o productos cartesianos) al ejecutar consultas. Esto aumentará el tiempo de cálculo. Por otro lado, las tablas que cumplen con las formas normales más fuertes tendrían menos redundancias que las tablas que solo cumplen con las formas normales más débiles.