Segunda forma normal (2NF)

La Primera Forma Normal (1NF) no elimina la redundancia, sino que elimina los grupos repetitivos.

En lugar de tener múltiples 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 (2NF):
La Segunda Forma Normal (2NF) se basa en el concepto de dependencia funcional total. 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 está automáticamente en al menos 2NF. Una relación que no está en 2NF puede sufrir las anomalías de actualización.

Para estar en segunda forma normal, una relación debe estar en primera forma normal y la relación no debe contener ninguna dependencia parcial. Una relación está en 2FN si no tiene dependencia parcial, es decir, ningún atributo no primo (atributos que no forman parte de ninguna clave candidata) depende de ningún subconjunto adecuado de ninguna clave candidata de la tabla.

En otras palabras,

Una relación que está en la Primera Forma Normal y todos los atributos que no son de clave principal dependen completamente funcionalmente de la clave principal, entonces la relación está en la Segunda Forma Normal (2FN).

Nota: si el subconjunto adecuado de la clave candidata determina un atributo no principal, se denomina dependencia parcial .

La 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 dados a continuación.

Ejemplo-1:
Considere la tabla de la siguiente manera.

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 la misma tarifa de curso. }

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 primo, 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 2FN.

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 los 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 todos los 100 registros, sino que podemos almacenarla una vez en la segunda tabla, ya que la tarifa del curso para C1 es 1000.

Ejemplo-2:
Considere las siguientes dependencias funcionales en relación R (A, B, C, D)

AB -> C  [A and B together determine C]
BC -> D  [B and C together determine D]

En la relación anterior, AB es la única clave candidata y no hay dependencia parcial, es decir, cualquier subconjunto propio de AB no determina ningún atributo no primo.

Publicación traducida automáticamente

Artículo escrito por Mithlesh Upadhyay y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *