domingo, 4 de septiembre de 2011

Tercera Forma Normal (3FN)

Una tabla está normalizada en esta forma si todas las columnas, que no son llave, poseen una dependecia funcional completa (DFC - 2FN) de la llave primaria y no hay dependencias transitivas. Una dependencia transitiva es aquella en la cual existen columnas, que no son llave, que dependen de otras columnas, que tampoco son llave.

Cuando las tablas están en la Tercera Forma Normal se previenen errores de lógica cuando se insertan o borran registros. Cada columna en una tabla está identificada de manera única por la llave primaria, y no deben haber datos repetidos. Esto provee un esquema limpio y elegante, que es fácil de trabajar y expandir.

A continuación, se presentarán ejemplos para entender mejor la 3FN:

EJEMPLO1:




En esta tabla tenemos la PK conformada por C_Mozo, donde se tiene como atributos no clave a (N_Mozo, D_Nacimiento, F_Mayor_Edad), podemos observar que hay una dependencia transitiva entre algunos atributos. F_Mayor_Edad depende de la fecha de nacimiento de las personas (D_Nac). Resolviendo este problema con la 3FN quedarían las siguientes tablas:



De esta forma se ha logrado eliminar la DT en las tablas.

EJERCICIO 2:




En la tabla presentada debemos usar la regla de la 3FN para eliminar la DT que existe entre T_Promoción y Q_Producto, debido a que la promoción de esta tienda depende de la cantidad de un producto comprado, por lo que las tablas resueltas quedarían de la siguiente manera:









EJERCICIO 3:







En la tabla podemos observar la PK conformada por (C_Vendedor). Podemos notar que existe DT entre algunos atributos no clave. Por ejemplo, el $_Sueldo_Final depende de la comisión y ésta de la cantidad de ventas del vendedor. Por tal razón, se debe de aplicar la 3FN para resolver el problema y quedarían las siguientes tablas:









EJERCICIO 4




Esta es la base de datos de una empresa de Poker, se tiene como PK a (C_Torneo). Se puede notar que entre los atributos no clave existe DT en algunos casos. Por ejemplo, T_Mano_Ganadora depende del nombre del ganador del torneo (N_Ganador). Usando la 3FN las tablas quedarían de la siguiente manera:




FALLAS DE LA 3FN:


La mayoría de las tablas 3NF están libres anomalías de actualización, inserción, y borrado. Ciertos tipos de tablas 3NF, que en la práctica raramente se encuentran, son afectadas por tales anomalías; éstas son tablas que no satisfacen la forma normal de Boyce-Codd (BCNF) o, si satisfacen la BCNF, son insuficientes para satisfacer las formas normales más altas 4NF o 5NF.

No hay comentarios: