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.