Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/04/2007, 04:06
Avatar de MACGREGOR
MACGREGOR
 
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Creo que es imposible pero...m:n

Hola,
El modelo relacional sí, SÍ soporta relaciones N:M.
Lo que sucede es que para implementarlas debes NORMALIZAR las entidades que representan esas "Tablas" N y M.
El resultado aplicar las reglas de normalización (Formas normales) te dará las directrices necesarias para obtener un esquema Entidad/Relación implementable.
En este caso deberás crear una tabla intermedia (segunda Forma Normal si no recuerdo mal) que tendrá dos relaciones del tipo 1:N con cada una de las entidades originales que tenías.

Veo que la idea la tienes mas o menos clara, ya que has creado la tabla "intermedia". Lo que no entiendo es el problema que planteas.
Qué significa que no se puede hacer con "ands" y sí con "ors"?
Eso me indica que harías una select con un where que contendría t.id_categoria=1 or t.id_categoria=2 or ... así hasta las N categorías...

lo más sencillo sería:

select l.nombre_libro, c.descripcion_categoria
from Tabla_Libro l,
Tabla_Categoria c,
Tabla_Libro_Categoria lc
where l.id_libro=lc.id_libro
and lc.id_categoria=c.id_categoria
and c.id_categoria in (1,2,3,4,5,....n)

(En función del sistema gestor de BBDD que utilices la nomenglatura será un tanto diferente en algunos casos.)

Espero que te ayude en tu duda.

Un saludo