Você está na página 1de 2

Dependencia Funcional

Una dependencia funcional, denotada por X -> Y, entre dos conjuntos de


atributos X y Y que son subconjuntos de R (R ={A1, A2,...,A3}) especifica una
restricción sobre las posibles tuplas que podrían formar un ejemplar de relación
r de R. La restricción dice que, para cualesquier dos tuplas t1 y t2 de r tales
que t1[X] = t2[X], debemos tener también t1[Y] = t2[Y]. Esto significa que los
valores componentes de Y de una tupla de r dependen de los valores del
componente X, o están determinados por ellos; o bien, que los valores del
componente X de una tupla determinan de manera única (o funcionalmente)
los valores del componente Y. También decimos que hay una dependencia
funcional de X a Y o que Y depende funcionalmente de X.

Sean a y b atributos de una misma tabla o relación T. Se dice que b es


funcionalmente dependiente de a y se denota T.a -> T.b o bien simplemente a
-> b si todo posible valor de a tiene asociado un único valor de b, o lo que es lo
mismo, en todas las tuplas de T en las que el atributo a toma el mismo valor
v1, el atributo b toma también un mismo valor v2. Claramente a -> b no
implica b -> a. Pueden repetirse los valores del atributo b para distintos valores
de a. Un mismo
atributo puede determinar funcionalmente a varios atributos lo cual se denota
a -> (b1, b2, ...). Puede darse una dependencia funcional mutua: a -> b y b ->
a o lo que es lo mismo a <-> b. Nóse que el concepto de dependencia
funcional no depende de la extensión concreta (contenido) que en un momento
determinado tenga la tabla sino de cualquier posible extensión que pudiera
tener.

Los atributos a y b pueden ser simples o compuestos (formados por la


agregación de varios atributos). Los atributos funcionalmente dependientes
pueden o no formar parte de la clave primaria de la tabla, de una clave
altenativa o de una clave ajena de otra tabla.

El atributo b es funcionalmente dependiente de forma completa de a si a -> b y


b no depende funcionalmente de ningún subconjunto de atributos de a. Si a es
un atributo simple y a -> b entonces la dependencia funcional es con seguridad
completa.

Las dependencias funcionales verifican una serie de propiedades denominadas


axiomas de Armstrong:

Reflexividad. A partir de cualquier atributo o conjunto de atributos siempre


puede deducirse él mismo. Dependencia
trivial: x -> x.

Aumentatividad. Si x -> y entonces x+z -> y. Así se puede aumentar


trivialmente el antecedente de una dependencia.
Ejemplo: si con el dni se determina el nombre de una persona, entonces con el
dni más la dirección también se determina el nombre.

Proyectividad. Si x -> y+z entonces x -> y. Ejemplo: si a partir del dni


es posible deducir el nombre y la dirección de una persona, entonces con el dni
es posible determinar el nombre.

Aditividad. Si x -> y y z -> w entonces x+z -> y+w. Ejemplo: si con el


dni se determina el nombre y con la dirección el teléfono de una persona,
entonces con el dni y la dirección podrá determinarse el nombre y el teléfono.

Transitividad o enlace de dependencias funcionales. Si x -> y e y ->


z entonces x -> z. Ejemplo: si con el dni puede determinarse el código de la
provincia de residencia de una persona y con éste código puede determinarse
el nombre de la provincia, entonces con el dni puede determinarse el nombre
de la provincia. Éste es el mecanismo básico de funcionamiento del enlace
entre tablas a partir de claves ajenas.

Normalización

La normalización es un proceso que consiste en comprobar que las tablas


(también denominadas relaciones en terminología propia del modelo relacional
de datos) definidas cumplen unas determinadas condiciones. Se pretente
garantizar la no existencia de redundancia y una cierta coherencia en la
representación mediante un esquema relacional de las entidades y relaciones
del modelo conceptual (diagrama E-R). Mediante la normalización se pueden
solucionar diversos errores en el
diseño de la base de datos así como mejorarlo. También se facilita el trabajo
posterior del administrador de la base de datos y de los desarrolladores de
aplicaciones.

Você também pode gostar