Hola Buenas Tardes, nuevamente expongo esto pero un foro mas arriba, ya que no recibi respuesta:
Voy a colocar un ejemplo más básico pero me servirá para aclarar la consulta.
Tengo dos tablas:
personas
relacion
la tabla personas contiene 3 campos:
- id por persona
- nombre de la persona
- edad persona (no tiene importancia este campo)
la tabla relacion consta de 4 campos:
- idrelacion que es un id autoincremental
- persona1 (es la llave foránea donde me marca el id de algun registro personas)
- persona2 (es la llave foránea donde me marca el id de algun registro personas que no sea persona1)
- relacion no tiene mayor importancia pero es para definir por ejemplo: NINGUNA, PADRE, HIJO, ETC.
la tabla relacion la tengo con UPDATE ON CASCADE y DELETE ON CASCADE
mi consulta es:
¿esta bien hecha la estructura?
si estubiera bien entonce y como ejemplo
suponiendo que tengo los siguientes datos en tabla personas
idxxNombrexxxxEdad
1xxJuan xxxxxxx40
2xxMariaxxxxxxx35
3xxLuisxxxxxxxx31
4xxJosexxxxxxxx9
y estos datos en la tabla relacion
idrelacionxxpersona1xxpersona2xxrelacion
1xxxxxxxxxx1xxxxxxxxxx2xxxxxxxxxHERMANA
2xxxxxxxxxx1xxxxxxxxxx3xxxxxxxxxNINGUNA
3xxxxxxxxxx1xxxxxxxxxx4xxxxxxxxxHIJO
4xxxxxxxxxx2xxxxxxxxxx4xxxxxxxxxSOBRINO
5xxxxxxxxxx2xxxxxxxxxx3xxxxxxxxxNINGUNA
como deberia hacer un SELECT? (lo manejare con VIEWS luego) para poder consultar por una persona, y que me muestre todas las personas relacionadas con ella, por decir:
busco por Juan:
y que me arroje:
1) Maria (HERMANA)
2) Jose (HIJO)
hay alguna forma de mejorar esa estructura, agregando una tabla? o algo mas simple?
gracias por cualquier ayuda recibida...todo me sirve
salu2