logo

Tercera forma normal (3NF)

Aunque las relaciones de Segunda Forma Normal (2NF) tienen menos redundancia que las de 1NF, aún pueden sufrir anomalías de actualización. Si actualizamos solo una tupla y no la otra, la base de datos estará en un estado inconsistente. Esta anomalía de actualización se debe a una dependencia transitiva. Necesitamos eliminar tales dependencias avanzando a la Tercera Forma Normal (3NF).

programa sencillo en Python

Tercera forma normal (3NF)

Una relación está en la tercera forma normal, si no hay dependencia transitiva para los atributos no primos, tan bien como está en la segunda forma normal. Una relación está en 3NF si al menos una de las siguientes condiciones se cumple en cada dependencia de función no trivial X –> Y.



  • X es una súper clave.
  • Y es un atributo principal (cada elemento de Y es parte de alguna clave candidata).

En otras palabras,

Una relación que está en Primera y Segunda Forma Normal y en la que ningún atributo que no sea de clave primaria depende transitivamente de la clave primaria, entonces está en Tercera Forma Normal (3NF).

Nota:



Si A->B y B->C son dos FD entonces A->C se llama dependencia transitiva. El normalización de las relaciones 2NF a 3NF implica la eliminación de dependencias transitivas. Si existe una dependencia transitiva, eliminamos los atributos transitivamente dependientes de la relación colocando los atributos en una nueva relación junto con una copia del determinante. Considere los ejemplos que se dan a continuación.

Ejemplo 1:

En la relación ESTUDIANTE dada en la Tabla 4,



Ejemplo

Conjunto FD: {STUD_NO -> STUD_NAME, STUD_NO -> STUD_STATE, STUD_STATE -> STUD_COUNTRY, STUD_NO -> STUD_AGE} Clave candidata: {STUD_NO} Para esta relación en la tabla 4, STUD_NO -> STUD_STATE y STUD_STATE -> STUD_COUNTRY son verdaderos. Entonces STUD_COUNTRY depende transitivamente de STUD_NO. Viola la tercera forma normal. Para convertirlo a tercera forma normal, descompondremos la relación ESTUDIANTE (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_COUNTRY_STUD_AGE) como:

cómo determinar el tamaño del monitor
STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_AGE)  STATE_COUNTRY (STATE, COUNTRY)>

Ejemplo 2:

Considere la relación R(A, B, C, D, E)

A ->BC, CD -> E, B -> D, E -> A>

Todas las claves candidatas posibles en la relación anterior son {A, E, CD, BC} Todos los atributos están en el lado derecho de todas las dependencias funcionales son primos.

Nota:

Se considera la Tercera Forma Normal (3NF) adecuado para el diseño normal de bases de datos relacionales porque la mayoría de las tablas 3NF están libres de anomalías de inserción, actualización y eliminación. Además, 3NF Siempre garantiza la preservación de la dependencia funcional y sin pérdidas. .

Conclusión

En conclusión, una etapa crucial en la normalización de bases de datos es la Tercera Forma Normal (3NF). Se ocupa de las dependencias transitivas y mejora la integridad de los datos a través de una organización eficaz de la información. 3NF garantiza que las propiedades no clave solo dependan del Clave primaria , eliminando la redundancia y ayudando a crear un entorno bien organizado y normalizado. modelo de base de datos relacional .