elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Cómo relacionar 1 tabla con N tablas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cómo relacionar 1 tabla con N tablas  (Leído 2,185 veces)
carlosgxs

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Cómo relacionar 1 tabla con N tablas
« en: 6 Abril 2012, 05:04 »

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 Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: Cómo relacionar 1 tabla con N tablas
« Respuesta #1 en: 6 Abril 2012, 05:40 »

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 Desconectado

Mensajes: 2


Ver Perfil
Re: Cómo relacionar 1 tabla con N tablas
« Respuesta #2 en: 6 Abril 2012, 05:57 »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
relacionar 2 datacombo
Programación Visual Basic
choquito 3 2,645 Último mensaje 29 Enero 2008, 15:40
por choquito
no me borra la tabla haciendo delete on cascade tabla n:m
Bases de Datos
kinos 2 2,912 Último mensaje 31 Julio 2010, 13:05
por kinos
Como "relacionar" 2 archivos CPP
Programación C/C++
LORD_SCARL 0 2,071 Último mensaje 30 Noviembre 2010, 01:10
por LORD_SCARL
como relacionar videos en youtube
Foro Libre
mpuertas 1 4,121 Último mensaje 25 Febrero 2011, 19:47
por el-brujo
como puedo relacionar 3 tablas en mysql con inner join
Bases de Datos
kary2013 2 38,247 Último mensaje 26 Febrero 2013, 18:29
por 1mpuls0
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines