Autor
|
Tema: Cómo relacionar 1 tabla con N tablas (Leído 3,679 veces)
|
carlosgxs
Desconectado
Mensajes: 2
|
Hola buen día,
Tengo un ligero problema a la hora de definir mi base de datos y espero que me puedan auxiliar, les explico mi situación...
Tengo una tabla llamada "grupos" que se relaciona con 1 de varias tablas que pueden ser "liga1", "liga2" y "liga3" cada una de estas tablas tiene campos diferentes o relaciones con otras tablas por lo que NO puedo crear solo 1 tabla general llamada "liga".
Entonces definiendo un poco la cardinalidad de relación, tengo que N "grupos" pertenecen a 1 "liga", el detalle es que si pongo la llave foránea (id_liga) en la tabla "grupos" NO sé si pertenece a "liga1", "liga2" o "liga3".
Realmente llevo varias horas dándole vueltas a la base de datos y no encuentro la solución, ojalá me puedan ayudar... Gracias!
|
|
|
En línea
|
|
|
|
Kase
Desconectado
Mensajes: 1.288
programa bonito ¬¬
|
has una cardinalidad n a m entre grupos y liga1, liga2, liga3
no podras hacer en una sola consulta el multiplicado de todo... pero si podras hacer un:
if grupo exist in liga1 then: else: obiamente con tu lenguaje main, no con sql.
la otra es emular herencia. ases una tabla "liga" con subtablas "ligaN"
una opcion mas es poner los campos "id_liga1", "id_liga2", "id_liga3" en "grupo" auque paresca.. no estas violando ninguna regla de normalizacion... liga1. liga2,liga3 son entidades no registros.
simplemente no podras hacer una unica consulta que te traega el multiplicado de todo...
|
|
|
En línea
|
|
|
|
carlosgxs
Desconectado
Mensajes: 2
|
Muchas gracias Kase, aprecio mucho tus 3 opciones... bastante interesantes.
Me voy más por la primera opción, crear una tabla de relación llamada "grupos_ligas" que tenta los campos "id_grupo", "id_liga" y "tipo". Para obtener el valor del campo "tipo" y con programación determinar:
si (tipo == 1) { obtener los datos de la tabla "liga1" con el "id_liga" }
La verdad esperaba poder solucionarlo todo con SQL, pero al parecer no hay otra opción. De nuevo muchas gracias por tu respuesta, saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
relacionar 2 datacombo
Programación Visual Basic
|
choquito
|
3
|
3,427
|
29 Enero 2008, 15:40 pm
por choquito
|
|
|
no me borra la tabla haciendo delete on cascade tabla n:m
Bases de Datos
|
kinos
|
2
|
4,364
|
31 Julio 2010, 13:05 pm
por kinos
|
|
|
Como "relacionar" 2 archivos CPP
Programación C/C++
|
LORD_SCARL
|
0
|
2,965
|
30 Noviembre 2010, 01:10 am
por LORD_SCARL
|
|
|
como relacionar videos en youtube
Foro Libre
|
mpuertas
|
1
|
5,296
|
25 Febrero 2011, 19:47 pm
por el-brujo
|
|
|
como puedo relacionar 3 tablas en mysql con inner join
Bases de Datos
|
kary2013
|
2
|
45,469
|
26 Febrero 2013, 18:29 pm
por 1mpuls0
|
|