Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2008, 09:54
carlossc87
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 2 meses
Puntos: 0
Problemas al normalizar tabla.

Hola tengo que normalizar una tabla que me han dado y tengo un problema que reflejo asi:

Usuario = ({DNI,Nombre,Aficcion,Tipo_Aficcion},L);

Donde DNI es el dni del usuario, nombre es el nombre del usuario afficciones son todas las posibles aficciones que puede tener un usuario (leer,correr,baloncesto...) y tipo_aficciones es la agrupacion de afacciciones puedes ser (deporte,....)

Unos ejemplos de lo que podria haber en la tabla

('11223344',''Pepe','Correr','Deporte')
('11223344','Pepe','Baloncesto','Deporte')
.......
('99887766','Maria','Leer','Educativa')
('99887766',Maria','Correr','Deporte')
.......

Empiezo a normalizar y me sale esto como df (dependencia funcionales) con el recubrimiento minimo ya hecho:

L = {
DNI -> Nombre
Aficcion -> Tipo_Aficcion
}


La clave candidata de esta tabla es {DNI,Aficcion}

Bien ahora miro las FN y la primera la cumple pues todos los atributos solo toman un unico valor.
Ahora biene la jodida la 2FN en la que se que no esta pues ni Nombre ni Tipo_Aficcion dependen totalmente de la clave pues entonces hacemos dos tablas no????

Usuario = ({DNI,Nombre},{DNI->Nombre})
Clave Candidata = {DNI}

Afic = ({Aficciones,Tipo_Aficcion},{Aficciones->Tipo_Aficcion})
Clave Candidata = {Aficcion}

Pues aki hay un problema esto es lo que hacen en todo lo que e visto y en las formulas que dan por ahi esto es lo que saldria. Pero esto esta mal por que ahora ya no existe ninguna relacion entre usuario y afic, si a partir del enunciado hago yo mi e-er pues me sale otra tabla:
Tiene = ({DNI,Aficciones},{sin df})
esta tabla "Tiene" sale de una relacion de varios a varios entre usuario y afic pero que si se hace como yo lo hice arriba no sale.

La pregunta por si no quedo muy claro es:
¿se debe dejar simplemente las tablas usuario y afic y poniendo una nota como "se perderan relaciones entre atributos", o seria valido poner la tercera tabla "tiene"?

Gracias.