GeeksforGeeks

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) se elimina la información repetida en una relación separada y se 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 completa. La segunda forma normal se aplica a las 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 al menos en 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 2NF si no tiene ninguna 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 Primera Forma Normal y cada atributo no clave primaria es totalmente dependiente 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 el atributo no primario, se llama dependencia parcial.

La normalización de las relaciones 1NF a 2NF implica la eliminación de las dependencias parciales. Si existe una dependencia parcial, eliminamos el o 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 como la siguiente.

STUD_NO COURSE_NO COURSE_FEE1 C1 10002 C2 15001 C4 20004 C3 10004 C1 10002 C5 2000

{Note que, hay muchos cursos que tienen la misma tarifa de curso. }

Aquí,
el PRECIO DEL CURSO no puede decidir por sí solo el valor de COURSE_NO o STUD_NO;
el PRECIO DEL CURSO junto con STUD_NO no puede decidir el valor de COURSE_NO;
el PRECIO DEL CURSO junto con COURSE_NO no puede 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 decire., COURSE_FEE depende de COURSE_NO, que es un subconjunto propio de la clave candidata. El atributo no primo COURSE_FEE depende de un subconjunto propio de la clave candidata, lo cual es una dependencia parcial, por lo que esta relación no está en 2NF.

Para convertir la relación anterior en 2NF,
necesitamos dividir la tabla en dos tablas como :
Tabla 1: STUD_NO, COURSE_NO
Tabla 2: COURSE_NO, COURSE_FEE

 Table 1 Table 2STUD_NO COURSE_NO COURSE_NO COURSE_FEE 1 C1 C1 10002 C2 C2 15001 C4 C3 10004 C3 C4 20004 C1 C5 2000 2 C5 

Nota – 2NF intenta reducir los datos redundantes que se almacenan en memoria. Por ejemplo, si hay 100 estudiantes que toman el curso C1, no necesitamos almacenar su tarifa como 1000 para todos los 100 registros, en su lugar podemos almacenarlo en la segunda tabla como la tarifa del curso C1 es 1000.

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

AB -> C BC -> D 

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

Etiquetas del artículo :

DBMS

Etiquetas de práctica :

Deja una respuesta

Tu dirección de correo electrónico no será publicada.