normalizacion
El proceso de normalización consist e en comprobar en secuencia si el esquema original est á en 1FN, 2FN y 3FN, analizando las dependencias funcionales en cada paso.Un ejemplo completo
Tenemos una empresa pública donde los puest os de t rabajo est án regulados por el Est ado, de modo que las condiciones salariales est án det erminadas por el puest o. Se hacreado el siguient e esquema relacional
EMPLEADOS(nss, nombre, puesto, salario, emails) con nss como clave primaria.
Una t abla est á en 1FN si sus at ribut os cont ienen valores at ómicos. En elejemplo, podemos ver que el at ribut o emails
puede cont ener más de un valor, por lo que viola 1FN.
En general, t enemos una relación R con clave primaria K. Si un at ribut o M viola la condiciónde 1FN, t enemos dos opciones.
Solución 1: duplicar los registros con valores repetidos
En general, est a solución pasa por sust it uir R por una nueva relación modificada R', en la cual: El atribut o M que violaba 1FN se elimina.
Se incluye un nuevo at ribut o M' que solo puede cont ener valores simples, de modo que si R'[M'] es uno
de los valores que t eníamos en R[M], ent onces R'[K]= R[K]. En ot ras palabras, para una t upla con n
valores duplicados en M, en la nueva relación habrá n t uplas, que sólo varían en que cada una de ellas
guarda uno de los valores que había en M.La clave primaria de R' es (K, M'), dado que podrá haber valores de K repet idos, para los valores mult ivaluados en M.
Siguiendo el ejemplo, t endríamos el siguient e esquema para la nueva t ablaEMPLEADOS'(a) con clave primaria
(nss, email):
Solución 2: separar el atributo que viola 1FN en una tabla
En general, est a solución pasa por:
sust it uir R por una nueva relación modificadaR' que no cont iene el at ribut o M.
Crear una nueva relación N(K, M'), es decir, una relación con una clave ajena K referenciando R', junt o al at ribut o M', que es la variant e mono-valuada...
Regístrate para leer el documento completo.