Anda di halaman 1dari 22

DEPENDENCIAS FUNCIONALES Y FORMAS NORMALES

INTRODUCCIN

El objetivo del diseo de Base de Datos relacional es generar un conjunto de esquemas de relaciones que permitan almacenar informacin sin redundancias innecesarias, as como se posibiliten recuperar la informacin fcilmente. Un enfoque es disear esquemas que estn en una forma normal apropiada. Para definir las formas normales se usaran dependencias funcionales y usando otro tipo de dependencias entre los datos.

DEPENDENCIA FUNCIONAL
Una dependencia funcional es una conexin entre uno o ms atributos. Ej.

FechaDeNacimiento

Edad

PROPIEDADES DE LA DEPENDENCIA FUNCIONAL


Existen 3 axiomas de Armstong 1.Dependencia funcional reflexiva Si y es un subconjunto de x entonces x y 2.Dependencia funcional aumentativa x y entonces xz yz

Dependencia funcional Transitiva. Sean X,Y,Z tres atributos o grupo de atributos de la misma entidad. Si Y depende funcionalmente de X y Z de Y, se dice que Z depende funcionalmente de X. X Y yY Z entonces X Z

PROPIEDADES DEDUCTIVAS
Unin X Y y X Z entonces X YZ Pseudo-Transitividad X Y y WY Z entonces WX Z Descomposicin X Y y Z es un subconjunto de de Y entonces X Y

FORMAS NORMALES

Primera forma normal(1FN) Se dice que una relacin est en primera forma normal cuando los valores que toman sus atributos son atmicos o no descomponibles. La restriccin que realiza la 1FN nos dice que un atributo tienes un nico dominio.(No puede haber ms de un atributo en una tupla).

Ej
Cdigo 1 Nombre Juan Grado Ingeniero Materia Horario Base de Datos I 3,4 Base de Datos II

1FN
Cdigo 1 1 Nombre Juan Juan Grado Ingeniero Ingeniero Materia Base De Datos I Base de Datos II Horario 3 4

Segunda Forma Normal(2FN) Se dice que una relacin est en 2FN cuando est en 1FN y todos los atributos que no son parte de la clave dependen de forma completa de la clave. Ej

Cdigo 1 1 Nombre Juan Juan Grado Ingeniero Ingeniero Materia Base De Datos I Base de Datos II Horario 3 4

Ej. la relacin anterior presenta las siguientes anomalas Anomalas de modificacin: Cambiar el nombre del docente supone explorar todas las tuplas de la tabla para mantener la integridad de dependencia funcional Cdigo Nombre Anomalas de insercin: No se puede insertar una materia nueva a no ser que tenga un docente asignado. Hasta que no tenga una materia asignada, no podemos incorporar un docente a la tabla. Anomalas de Borrado: Si se elimina un docente podemos perder las horas asignadas a esa materia o la materia.

Regla de descomposicin de relaciones que no estn en 2FN:


fK1 fK1 fX fX

fK2

fY fK1 fY fK2

Relacin en 2FN

Cdigo Materia Cdigo 1 Nombre Juan Grado Ingeniero 1 Base de Datos I

Horari o 3

Base de Datos II

Tercera forma normal(3FN) Se dice que una relacin esta en 3FN cuando est en 2FN y ningn atributo secundario (aquellos que no forman parte de la clave) depende transitivamente de la clave. Ej

Cdigo 1 Nombre Juan Grado Ingeniero Salario 1000

Como se puede observar el salario depende transitivamente del grado.

Regla de descomposicin de relaciones que no estn en 3FN:


X Y

fY

Relacin en 3FN

Cdigo 1

Nombre Juan

Grado Ingeniero

Grado
Ingeniero

Salario
1000

Forma normal de Boyce-Codd(FNBC) Una de las formas ms convenientes que se puede obtener es la FNBC. Un esquema de relaciones R est en FNBC respecto a un conjunto de dependencias funcionales F si para toda las dependencias funcionales en F de la forma x y , donde X R y Y R se cumple al menos una de las siguientes condiciones X Y es una dependencia trivial(Y X) X es una superclave del esquema R

Ej.
Esquema-cliente=(codigo-cliente,calle-cliente,ciudad-cliente) nombre-cliente calle-cliente,ciudad-cliente Esquema-sucursal=(nombre-sucursal,activo,ciudad-sucursal) nombre-sucursal activo,ciudad-sucursal Esquema-pretamo(nombre-sucursal,nombre-cliente,nmeroprestamo,importe) nmero-prestamo importe sucursal Se puede notar que el esquema cliente est en FNBC, notese que una clave candidata para el esquema es codigo-cliente. La nica dependencia no trivial de esquema-cliente es codigo-cliente en la parte izquierda de la flecha. Ya que codigo-cliente es una clave candidata no viola la definicin de FNBC . De la misma forma se puede demostrar que el esquema-sucursal est en FNBC.

Pero el esquema prestamo no est en FNBC . En primer lugar , obsrvese que nmero-prestamo no es superclave de esquema-prestamo ya que podra haber un par de tuplas representando un nico prestamo hecho a 2 dos persona; ej
nombresucursal Centro Centro nombrecliente Sr. Rios Sra.Rios nmeroprestamo P-50 P-50 import e 200 200

Como no se tienes dependencias funcionales que exluyan el caso anterior nmero-prestamo no es una clave candidata.Sin embargo, la dependencia funcional nmero-presatamoimporte es no trivial, Por tanto el esquema-prestamo no satisface la definicin de FNBC.

Dependencias Multivaloradas Hay esquemas que estn en FNBC y no parecen estar lo suficientemente normalizadas en el sentido de que an tienen problemas de repeticin de informacin . Ej.
e-BC=(n_prestamo,nombre-cliente,calle,ciudad)

Como se puede decducir, este esquema no est en FNBC por la dependencia funcional. nombre-cliente calle, ciudad que se habia afirmado anteriormente y porque nombre-cliente noes una clave del esquema BC.

Sin embargo, asmase que este banco trata con clientes con varias direcciones.en este caso ya no se podra forzar la dependencia funcional de nombre-cliente si desaparece esta dependencia funcional ,el esquema BC estara en FNBC respecto al conjunto de dependencias funcionales modificado. Ahora incluso estantoen FNBC presenta problemas de redundancia que se tenia antes y esto en una dependencia mutivalorada. XY

Cuarta forma normal(4FN) Con el ejemplo anterior con la dependencia multivalorada que teniamos antes de nombrecliente aunque el esquema este en FNBC , el diseo no es ideal ya que se debe repetir la informacin de la direccin del cliente por cada prstamo . Un esquema de una base de datos esta en 4FN respecto a un conjunto D de dependencias funcionales multivaloradas si para toda dependencia multivalorada D de la forma xy, donde x R , y R , al menos una de las siguiente condiciones se cumple. xy es una dependencia multivalorada trivial. x es una superclave en el esquema R.

Descomposicin de la 4FN Se descompondr el esquema BC en dos nuevos esquemas


e-prestatario=(nombre-cliente, nmero prstamo)

e-cliente=(nombre-cliente,calle,ciudad)

Anda mungkin juga menyukai