Base de Datos

Saludos:
Recientemente he comenzado a programar en ASP y me encuentro en dificultades con una base de datos.
Concretamente la base de datos es de perros, dónde están almacenados sus datos: id, nombre, edad, capa, sexo, padre, madre, id_padre, id_madre.
El caso es que no sé cómo conseguir mediante ASP-SQL un árbol genealógico que comprenda hasta los tatarabuelos, sin que tenga que introducirlos en la BD.
Gracias...

3 Respuestas

Respuesta
1
He estado leyendo tu pregunta, pero hay cosas que no me quedan muy claras.
Además, me parece que el problema es más de estructuras de datos que de ASP.
Creo que necesitas la tabla "Perro" (toda la información de cada perro) donde habría un campo de Id_Padre, Id_Madre, y recursivamente se podría generar el árbol hasta n generaciones.
¿Qué base de datos usas? ¿SQLServer? ¿Access? ¿Oracle? ¿Otro?
No me queda claro por qué utilizas en la misma tabla padre, madre, id_padre, id_madre.
Tampoco a qué te refieres con no tener que introducir los datos en la BD.
Si la base es un access mándamela y te hago algo para que muestre el árbol genealógico de alguna forma.
Saludos cordiales,
Carlos Gomez
[email protected]
Respuesta
1
Veamos...
Tenemos al individuo n. Busquemos hasta sus tatarabuelos
SELECT id FROM tabla_perros WHERE id=N UNION
-Ahora buscamos el padre y la madre (esto es un comentario, va todo seguido)
-O sea a los abuelos
SELECT tabla2.id FROM tabla_perros as tabla1, tabla_perros AS tabla2 WHERE tabla1.id= N AND (tabla1.id_padre = tabla2.id OR tabla1.id_madre=tabla2.id) UNION
-Seguimos subiendo
... no sigo porque es muy largo pero tienes ya una idea de por donde seguir... si quieres más dímelo... podría acabarla... pero necesitare una hora o así... y la tendré durante la semana...
Gracias... he conseguido sacar hasta los abuelos, con esto me apaño.
Si tienes tiempo y puedes completarme hasta los tatarabuelos exactamente te lo agradecería (sin prisas).
Gracias de nuevo...
Sinceramente creo que con lo que te he dado y pensando un poco puedes ir tirando del hilo. Así de esa manera tu también entenderías como se hace el proceso de seleccionar a los bisabuelos, así como a los tatarabuelos.
Espero que no te moleste, pero creo que tampoco es lógico que yo haga tu trabajo.
Respuesta
1
Tendrás que explicarte mejor: ¿Dónde tienes los datos hasta los tatarabuelos si no esta en la base de datos?
¿Cómo tienes guardada esa información?
¿Cómo quieres presentarala?
Lo siento pero este medio no es demasiado ágil para hacer preguntas tan amplias
Saludos:
Precisamente lo que quiero es encontrar la información del árbol genealógico sin tener que introducirlo todo. Es decir, en la tabla están los padres de un sujeto con sus identificadores, y con estos datos buscar los padres de los padres (abuelos), etc...
Gracias.
En algún momento tendrás que tener la info de los padres, abuelos, etc. ¿digo yo?
Lo que tienes que hacer es montar un árbol y su gestión. Yo buscaría información sobre b-tree's y c-tree's que son los mejores algoritmos de búsqueda en arboles.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas