Ver Mensaje Individual
  #11 (permalink)  
Antiguo 26/08/2014, 10:41
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consultas con relaciones many-to-many ?



Pues simplemente las usas para generarlos JOIN basados en esas relaciones... Francamente me cuesta ver por qué te plantea dudas.

Si tienes una tabla A(a_id, a_x, a_y, a_z) y otra B(a_id, b_x, b_y, b_z), donde hay una manifiesta relación de 1:N entrew A y B, determinada por el campo "A_ID", un JOIN que te devuelva las que se relacionan sería simplemente:
Código SQL:
Ver original
  1. SELECT A.*, B.*
  2. FROM A INNER JOIN B ON A.a_id = B.a_id
Y las que están en A pero no en B:
Código SQL:
Ver original
  1. SELECT A.*, B.*
  2. FROM A LEFT JOIN B ON A.a_id = B.a_id
  3. WHERE B.a_id IS NULL

Además, el hecho de que existan FK genera mejoras de performance, desde el momento en que los DBMS habitualmente manejan esa dependencia como índices, que tienen impacto directo en los planes de consulta que se generan internamente.
Cualquier búsqueda basada en índice de FK ers mucho más eficiente que una busqueda sin usarlos.

Esto es sólo una parte de las ventajas que tienen y los usos de las FK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)