Professional Documents
Culture Documents
Importancia de la Informacin
Actualmente los sistemas de informacin basados en computadoras ha cobrado la
mayor importancia dentro de las actividades cotidianas de una empresa. El
procesamiento de dicha informacin constituye el punto clave para la toma de
decisiones, es as cuando una empresa decide si es conveniente o no ingresar a un
nuevo mercado, o elaborar una estrategia frente a la competencia.
Aqu se resaltar la importancia del anlisis en el diseo de los archivos que compone
una Base de Datos, el cual es el punto de partida para el diseo de la Aplicacin, as
mismo se da las pautas necesarias para que usted amigo lector, sepa disear sus
informes, pantallas, as como la correccin y deteccin de errores en los datos de
entrada.
Intrprete
Produccin
Jos Luis
Me llamas.
Perales
Celos de mi guitarra.
Quisiera
No es una relacin
Cambiar una tabla con grupos repetitivos a una tabla sin ellos es simple. Se
reemplazan los grupos repetitivos por filas completas. Por ejemplo, pongamos la tabla
anterior en 1FN.
Intrprete
Jos Luis Perales
Jos Luis Perales
Produccin
Me llamas.
Celos de mi
guitarra.
Quisiera.
Es una relacin
Dependencia Funcional
supervisor
Martn
Yessica
Janet
Yessica
Carlos
Yessica
Sergio
Julie
Hernn
Julie
Patricia
Julie
En este ejemplo, el valor de los datos en la columna llamada supervisor depende del
valor de los datos de la columna empleado. Seleccionar cualquier valor para empleado
nicamente determina un valor para supervisor. Por ejemplo si el valor para empleado
es Martn, entonces el valor de supervisor es siempre Yessica.
Empleado es el determinante de supervisor. Un simple diagrama de dependencias
muestra esta dependencia funcional.
i una persona puede trabajar para dos supervisores, esta dependencia funcional se
pierde. Por ejemplo, si Martn trabaja para Yessica y Julie.
empleado
supervisor
Martn
Yessica
Martn
Julie
Janet
Yessica
Carlos
Yessica
Sergio
Julie
Hernn
Julie
Patricia
Julie
Todava existe una relacin ya que existe una clave candidata. La clave candidata est
ahora compuesta de las dos columnas empleado-supervisor. Est todava en primera
forma normal, ya que no existen grupos repetitivos, ni las filas duplicadas. Sigue siendo
una tabla.
El supervisor no es una dependencia funcional sobre los empleados. Para un nico
valor de la columna empleado (Martn hay dos posibilidades valores de la columna
supervisor (Yessica y Julie ).
Ntese que la dependencia funcional es parte de la estructura de los datos, no es parte
del modelo relacional. Si Martn puede trabajar slo para un supervisor, los datos en
esta tabla estn mal, ya que es inconsistente con la estructura lgica de la empresa. La
tabla no sera un modelo exacto del mundo real. Nada en los datos la hace
inconsistente con el modelo relacional. Los datos, a pesar de todo, encajan en la tabla,
pero sta no modela el mundo real.
Empleado
Departamento
Julie
Martn
Julie
Yessica
a
6
Julie
Jorge
Csar
Martn
Csar
Janet
Csar
Samantha
Cada una de las otras columnas de una tabla depende funcionalmente de una clave
candidata.
Una clave candidata es un determinante para todas las columnas que no sean claves
candidata o primaria. La razn es que seleccionar una clave candidata individual
siempre selecciona los mismos valores para las columnas no clave.
Conviene notar que nada en la definicin de dependencia funcional dice que un
determinante sea clave candidata o primaria. Cualquier columna puede depender
funcionalmente de otra columna que no sea clave candidata. Observe el siguiente
ejemplo:
nmeros
En esta tabla, la columna x no es, obviamente, una clave candidata. Observe que y
depende funcionalmente de x, ya que debe tener el valor de 1 siempre que x tenga el
valor de a.
Dependencia Funcional Completa
empleado
departamento
Julie
Martn
Julie
Yessica
Julie
Jorge
Csar
Martn
Csar
Janet
Csar
Samantha
apellido
nombre
departamento
Mendoza
Martn
Mendoza
Janet
Mendoza
Jorge
Mendoza
Kathy
Mendoza
Carlos
Hidalgo
Martn
anexo
Martn
10
Janet
10
Carlos
14
Sabrina
16
Csar
18
Karen
20
Esta tabla est en 1FN; no hay grupos repetitivos. Esta tabla est tambin en 2FN, ya
que la columna no clave anexo depende de la columna clave nombre.
El siguiente ejemplo aade otra columna a esta tabla que tambin depende de la clave
primaria (una columna de la hora a la que comienzan a trabajar los individuos). Esta
columna se llama hora. La columna hora indica si el individuo empieza a trabajar pronto
o tarde.
nombre
anexo
hora
Martn
10
Janet
10
no
Carlos
14
Sabrina
16
Csar
18
Karen
20
s
10
nombre
anexo
larga-distancia
Martn
10
Janet
10
Carlos
14
No
Sabrina
16
No
Csar
18
Karen
20
Esta tabla no est en 2FN, ya que la columna larga distancia no est relacionada con la
clave primaria nombre. La columna larga-distancia est relacionada con la anexo. La
columna larga-distancia no depende funcionalmente de forma completa de la columna
nombre.
La proyeccin de la tabla original en 1FN en dos tablas elimina cualquier dependencia
funcional no completa. Esta proyeccin cambia la tabla en 1FN en dos tablas 2FN. La
proyeccin crea dos tablas en 2FN, donde cada una de las dos tablas tiene una clave
primaria y columnas relacionadas con la clave primaria. Esto normaliza la tabla en 1FN.
Cada una de las nuevas tablas tiene dependencias funcionales ms simples. El
resultado apararece en las dos tablas siguientes:
11
TELEFONO
nombre
anexo
Martn
10
Janet
10
Carlos
14
Sabrina
16
Csar
18
Karen
20
AUTORIZACIONES
anexo
larga-distancia
10
14
No
16
No
18
20
12
regin
ciudad
s1
Norte
Trujillo
s2
Oriente
Iquitos
s3
Oriente
Iquitos
s4
Sur
Cusco
s5
Sur
Cusco
s6
Norte
Trujillo
En este conjunto de datos, cada uno de los suministradores corresponde a una ciudad
determinada. Cada una de las ciudades tiene una regin especfica. La regin depende
de la ciudad. La ciudad depende del suministrador.
Debido a que la ciudad depende del suministrador y la regin depende de la ciudad, la
regin tambin depende del suministrador. Si se conoce el suministrador, se puede
determinar la regin, pero slo a travs de la ciudad. La regin slo depende del
suministrador transitivamente a travs de la ciudad.
Esta clase de dependencia transitiva complica al actualizacin de la tabla. Si la regin
cambia para una ciudad, cada uno de los registros para esa ciudad deben ser
cambiados.
13
La insercin de un nuevo registro puede ser difcil. Aadir un registro para anotar que
una ciudad determinada pertenece a una regin en particular es imposible hasta que
haya un sumiminstrador para esa ciudad. Por ejemplo, no se puede aadir la
informacin de que Piura pertenece a la regin Norte hasta que haya un suministrador
para Piura.
Borrar la nica fila para una ciudad en particular hace perder dos elementos de
informacin: (1) la informacin de que un suministrador es de una determinada ciudad,
y (2) la informacin de que una ciudad pertenece a un regin.
Proyectar la tabla en 2FN en dos tablas separadas en 3FN resuelve este problema.
La proyeccin separa cada una de las dependencias funcionales en su propia tabla.
Las dos tablas que resultan son estas:
suministrador
ciudad
s1
Trujillo
s2
Iquitos
s3
Iquitos
s4
Cusco
s5
Cusco
s6
Trujillo
regin
ciudad
Norte
Trujillo
Oriente
Iquitos
Sur
Cusco
Cada una de estas dos tablas estn en 3FN. Cada una de las tablas est en 1FN ya
que no hay grupos repetitivos. Cada una de las tablas est en 2FN ya que las
columnas no clave son funcionalmente dependientes de la clave primaria. Cada una de
14
estado
almacn
s1
abierto
CA
s2
cerrado
NV
s3
abierto
CA
s4
cerrado
NV
s5
cerrado
NV
s6
cerrado
NV
La entrada del estado depende del almacn. Cada una de las entradas bajo almacn
tiene una entrada de estado de abierto o cerrado.
La entrada bajo almacn depende del embarque. Cada elemento de embarque navega
desde un nico lugar bajo almacn.
El estado depende del nmero de embarque. Cada uno de los embarques tiene un
estado asociado de abierto o cerrado. Ntese que esto probablemente no es parte de
la estructura lgica de los datos. Es razonable para el almacn que tenga un estado de
15
estado
CA
abierto
NV
cerrado
embarque
almacn
s1
CA
s2
NV
s3
CA
s4
NV
s5
NV
s6
NV
Primer caso
Una proyeccin diferente tambin normaliza el ejemplo en dos tablas en 3FN. Esta segunda proyeccin
descompone la relacin en torno a la dependencia transitiva:
embarque
almacn
s1
CA
s2
NV
s3
CA
s4
NV
s5
NV
s6
NV
16
embarque
estado
s1
abierto
s2
cerrado
s3
abierto
s4
cerrado
s5
cerrado
s6
cerrado
Segundo caso
En el primer caso, cada una de las proyecciones es independiente. Actualizar una tabla no requiere
actualizar la otra (excepto donde cambie el almacn). El estado para un almacn puede cambiar,
independientemente del almacn para un embarque.
embarque
estado
almacn
s2
cerrado
NV
s3
abierto
CA
s4
cerrado
NV
s5
cerrado
NV
Debido a que la dependencia funcional del estado sobre el almacn no ocurre dentro
de una nica tabla, existe una restriccin interrelacional entre las dos relaciones. Esto
hace que sea fcil ver que es preferible hacer una descomposicin donde las
proyecciones sean independientes a una donde no lo sean.
Las tablas son independientes solamente si las dependencias funcionales de la tabla
original pueden ser lgicamente deducidas de las dependencias funcionales de las
tablas compuestas. Tambin, los atributos que son comunes a las dos tablas deben ser
una clave candidata para al menos una de las tablas resultados.
Las tablas en la primera proyeccin son independientes. El atributo comn embarque
es la clave primaria para la tabla almacn. Todas las dependencias funcionales en la
tabla original aparecen en las proyecciones o pueden ser deducidas de ellas.
En el segundo ejemplo, las proyecciones no son independientes. La dependencia
funcional del estado sobre el almacn no puede ser deducida de las dependencias
funcionales en las tablas de resultado.
18
Conclusin
Se ha introducido los conceptos de dependencia funcional y normalizacin. La
dependencia funcional demuestra la estructura lgica de los datos en una base de
datos. Los diagramas de dependencia de datos pueden ayudar a determinar las
diversas dependencias de datos existentes en una tabla.
Las formas normales ofrecen guas para estructurar una base de datos con
dependencias de datos simples. En las diversas formas normales introducidas, cada
una de las formas est ms organizada que la anterior. Cada una de las formas
normales restringe un esquema que tiene menos complejidad de dependencia de datos
dentro de las tablas.
Eliminar los grupos repetitivos de datos puede reducir tablas que no estn en 1FN a
tablas que s lo estn.
19