La Primera Forma Normal (1NF) no elimina la redundancia, sino que elimina los grupos repetidos. En lugar de tener varias columnas del mismo tipo de datos en un registro (0NF o forma no normalizada), elimina la información repetida en una relación separada y la representa como filas. Esto es lo que constituye 1NF.
Segunda forma normal
La segunda forma normal (2NF) se basa en el concepto de dependencia totalmente funcional. La segunda forma normal se aplica a relaciones con claves compuestas, es decir, relaciones con una clave primaria compuesta por dos o más atributos. Una relación con una clave primaria de un solo atributo se encuentra automáticamente en al menos 2NF. Una relación que no esté en 2NF puede sufrir anomalías de actualización. Para estar en la segunda forma normal, una relación debe estar en la primera forma normal y la relación no debe contener ninguna dependencia parcial. Una relación está en 2NF si no tiene dependencia parcial, es decir, ningún atributo no principal (atributos que no son parte de ninguna clave candidata) depende de ningún subconjunto adecuado de cualquier clave candidata de la tabla. En otras palabras,
Una relación que está en Primera Forma Normal y cada atributo que no es de clave primaria depende completamente funcionalmente de la clave primaria, entonces la relación está en Segunda Forma Normal (2NF).
Nota - Si el subconjunto adecuado de la clave candidata determina un atributo no principal, se llama dependencia parcial . El normalización de las relaciones 1NF a 2NF implica la eliminación de dependencias parciales . Si existe una dependencia parcial, eliminamos los atributos parcialmente dependientes de la relación colocándolos en una nueva relación junto con una copia de su determinante. Considere los ejemplos que se dan a continuación.
Ejemplo 1: Considere la tabla a continuación.
STUD_NO COURSE_NO COURSE_FEE 1 C1 1000 2 C2 1500 1 C4 2000 4 C3 1000 4 C1 1000 2 C5 2000>
{Tenga en cuenta que hay muchos cursos que tienen el mismo precio. } Aquí, COURSE_FEE no puede decidir por sí solo el valor de COURSE_NO o STUD_NO; COURSE_FEE junto con STUD_NO no pueden decidir el valor de COURSE_NO; COURSE_FEE junto con COURSE_NO no pueden decidir el valor de STUD_NO; Por lo tanto, COURSE_FEE sería un atributo no principal, ya que no pertenece a la única clave candidata {STUD_NO, COURSE_NO}; Pero, COURSE_NO -> COURSE_FEE, es decir, COURSE_FEE depende de COURSE_NO, que es un subconjunto adecuado de la clave candidata. El atributo no principal COURSE_FEE depende de un subconjunto adecuado de la clave candidata, que es una dependencia parcial y, por lo tanto, esta relación no está en 2NF. Para convertir la relación anterior a 2NF, necesitamos dividir la tabla en dos tablas como: Tabla 1: STUD_NO, COURSE_NO Tabla 2: COURSE_NO, COURSE_FEE
Table 1 Table 2 STUD_NO COURSE_NO COURSE_NO COURSE_FEE 1 C1 C1 1000 2 C2 C2 1500 1 C4 C3 1000 4 C3 C4 2000 4 C1 C5 2000 2 C5>
Nota - 2NF intenta reducir la cantidad de datos redundantes que se almacenan en la memoria. Por ejemplo, si hay 100 estudiantes que toman el curso C1, no necesitamos almacenar su tarifa como 1000 para los 100 registros, sino que podemos almacenarla en la segunda tabla, ya que la tarifa del curso para C1 es 1000.
Ejemplo-2: Considere las siguientes dependencias funcionales en la relación R (A, B, C, D)
AB ->C [A y B juntos determinan C] BC -> D [B y C juntos determinan D]>
Respuesta:
Primero, podemos verificar si hay dependencias parciales. Una dependencia parcial ocurre cuando un atributo no principal (que no forma parte de ninguna clave candidata) depende solo de una parte de una clave candidata.
Las claves candidatas para la relación R se pueden determinar encontrando el cierre de cada atributo:
AB determina todas las claves.
Ahora, verifiquemos si hay dependencias parciales:
No hay dependencias parciales en esta relación porque cada atributo no principal (C y D) depende de todas las claves candidatas de las que forma parte (AB y BC, respectivamente).
Por lo tanto, la relación R ya está en la 3.ª forma normal (3NF) porque satisface las condiciones de la 1.ª forma normal (1NF) y la 2.ª forma normal (2NF) y no tiene dependencias transitivas.
Conclusión
En conclusión, 2NF es un concepto fundamental de normalización de bases de datos que ayuda a eliminar dependencias parciales en su base de datos relacional. Seguir las reglas 2NF ayuda a organizar su base de datos para evitar anomalías y garantizar la integridad de los datos, lo que facilita su almacenamiento y recuperación.