17/04/2007, 04:06
|
| | | 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 |