Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/01/2013, 04:52
harvey
 
Fecha de Ingreso: mayo-2007
Mensajes: 256
Antigüedad: 17 años
Puntos: 3
Respuesta: Diseño optimo de la base de datos

No lo tengo claro. Para mi lo mas facil y entendible era la primera opción con solo dos tablas que de hecho es la primera que hice porque era evidente pero me comentaron que no era un diseño optimo por temas de claves foraneas y demás. Despues de darle muchisimas vueltas se me ocurrio otro diseño que solo consitía en dos tablas:

miembros
id_miembro
nombre
apellidos

relaciones
id_relacion
miembro (referencia a un id_miembro en la tabla miembros)
padremadre (referencia a un id_miembro en la tabla miembros)

Aunque parecia cumplir con el tema de las claves foraneas y demas, resultaba mas complicado para sacar las relaciones.

Finalmente acabé sacando el diseño de tres tablas. Por un lado parace mas optimo a la hora de manejar claves foraneas pero sobre todo me decidi por este diseño porque me permitía trabajar la relacion padres/hijo por un lado y por otro las relaciones de pareja. Así puedo, por ejemplo, añadir mas tarde otros datos sobre la relación de pareja (tipo de pareja, fecha de comienzo de relación y otros detalles) y por otro lado sobre la relacion padres-hijos. El problema básicamente radica en que no es exactamente un arbol genealógico lo que estoy haciendo y por ello, aunque doy prioridad a las lineas de sangre, tambien me interesaría poder añadir parejas sin hijos o quizás incluso adopciones. Es por todo ello que estoy intentando construir el modelo mas versatil posible pero si algo he descubierto sobre el diseño de una base de datos de arbol genealógico es que no es tan sencillo como parece en vista de los intentos de otras personas que he encontrado buscando en google.

Así pues, ahora mismo estoy trabajando con el modelo de tres tablas, pero no me esta complicando mucho las consultas que tenía con el de dos. A pesar de lo cual sigo sin tener claro que sea el mejor metodo posible.

En cualquier consejo o ayuda me viene bien. Gracias.