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  
id
xxNombre
xxxxEdad
1
xxJuan 
xxxxxxx40
2
xxMaria
xxxxxxx35
3
xxLuis
xxxxxxxx31
4
xxJose
xxxxxxxx9  
y estos datos en la tabla 
relacion  
idrelacion
xxpersona1
xxpersona2
xxrelacion
1
xxxxxxxxxx1xxxxxxxxxx2xxxxxxxxxHERMANA
2
xxxxxxxxxx1xxxxxxxxxx3xxxxxxxxxNINGUNA
3
xxxxxxxxxx1xxxxxxxxxx4xxxxxxxxxHIJO 4xxxxxxxxxx2xxxxxxxxxx4xxxxxxxxxSOBRINO
5
xxxxxxxxxx2xxxxxxxxxx3xxxxxxxxxNINGUNA  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