martes, 30 de junio de 2009

3ra Forma Normal

La tabla se encuentra en 3FN si es 2FN y cada atributo que no forma parte de ninguna clave, depende directamente y no transitivamente, de la clave primaria.

Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema de relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.

Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el atributo clave SSN es transitiva via DNUMBER porque las dependencias SSN->DNUMBER y DNUMBER->DMGRSSN son mantenidas, y DNUMBER no es un subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que DNUMBER no es una clave de EMP_DEPT.

Los siguientes ejemplos son la continuación del post anterior

EJEMPLO 1:

3FN

La tercera forma normal prohíbe dependencias transitivas. Una dependencia transitiva existe cuando cualquier atributo en una tabla es dependiente de otro campo y éste es quien depende de la clave primaria.

Considere el siguiente ejemplo de una tabla de Cursos:


El campo Nombre de Profesor depende de Nro de Profesor, el cual es el campo que realmente depende de la clave primaria. Por ello, el campo Nombre Profesor debe ser quitado y colocado en otra tabla:


Dividiendo los datos en 2 tablas, la dependencia transitiva es removida.


Ejemplo 2:

3FN

Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los atributos no clave deben ser mutuamente independientes y dependientes por completo de la clave primaria. También recordemos que dijimos que esto significa que las columnas en la tabla deben contener solamente información sobre la entidad definida por la clave primaria y, por tanto, las columnas en la tabla deben contener datos acerca de una sola cosa.

En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de 3NF.

Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca de una entidad, también hemos perdido la información acerca de qué autor ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen cada libro con sus autores y editoriales.


Y el resto de las tablas no necesitan modificación.



No hay comentarios:

Publicar un comentario