Está en la página 1de 8

Un esquema de relacin esta en BCNF, si para toda

dependencia funcional X
Y que se cumple en R ,
Es condicin que X sea una super clave de R.
EJEMPLO :

Se tiene el siguiente esquema donde se distinguen


todas las dependencias :

Empleado ( codEm, nss, sueldo, codDpto, nomDpto)

La primera dependencia :

Empleado ( codEm, nss, sueldo, codDpto, nomDpto)

Se puede afirmar que codEm es una superclave

La segunda dependencia :

Empleado ( codEm, nss, sueldo, codDpto, nomDpto)

Se puede afirmar que nss es una superclave

La tercera dependencia :

Empleado ( codEm, nss, sueldo, codDpto, nomDpto)


Se puede afirmar que codDpto no es una superclave
Esta dependencia funcional viola la BCNF

SOLUCION :

debemos descomponer el esquema :

Empleado ( codEm, nss, sueldo, codDepa )


Departamento ( codDpto, nomDpto)

Empleado ( codEm, nss, sueldo, codDepa )

Ya no hay problema, se cumple la condicin

Departamento ( codDpto, nomDpto)

Aqu tambin se cumple la condicin

EJEMPLO :

Considere que cada proyecto tiene un administrador


y que cada uno maneja un solo proyecto :

Proyecto

administrador Articulo

cantUsada

P1

Castro

Martillo 10

P1

Castro

Taladro 20

P2

Garcia

Taladro 30

P2

Garcia

Sierra

P3

Meneses Martillo 15

22

Identifiquemos las dependencias :

UsoProy ( proyecto, administrador, articulo, cantUsada )


{administrador, articulo} es una superclave

UsoProy ( proyecto, administrador, articulo, cantUsada )

{proyecto, articulo} es una superclave

UsoProy ( proyecto, administrador, articulo, cantUsada )


Aqu hay dos dependencias funcionales :
Administrador

proyecto

proyecto

Administrador

Pero ni administrador ni proyecto son superclaves, por tanto violan


la BCNF

SOLUCION :

debemos descomponer el esquema :

Uso ( proyecto, articulo, cantUsada )


proyecto ( proyecto, administrador )

Uso ( proyecto, articulo, cantUsada )

{proyecto, articulo}

cantUsada

Es una superclave

proyecto ( proyecto, administrador )

Entonces ambos estn en BCNF

También podría gustarte