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 requiere modificar solo una tabla. Primera forma normal (1NF), segunda forma normal (2NF) y la tercera forma normal (3NF) fue introducido por Edgar F. Codd, quien también es el inventor del modelo relacional y el concepto de normalización.
Que 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 (i.mi. No contiene ningún registro que se repita), pero no hay una definición universalmente aceptada para 1NF. Una propiedad importante es que una tabla que cumpla con 1NF no podría contener ningún atributo que sea valorado en relación (i.mi. Todos los atributos deben tener valores atómicos).
Que es 2nf?
2NF es la segunda forma normal utilizada en 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 de candidato (i.mi. atributos no predominantes) deben 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 la base de datos relacional. De acuerdo con la definición del 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 de candidato, debe 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 ocurren 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 una forma normal más fuerte que el 2NF, y se considera 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 el 2NF. Del mismo modo, 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 formadas por un solo atributo (i.mi. claves candidato 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.