Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

consultas n:n

Estas en el tema de consultas n:n en el foro de Bases de Datos General en Foros del Web. Amigos estoy teniendo dificultades con las consultas muchos a muchos, si tubieran ejemplos o me pudieran decir donde encontrar estaria muy agradecido. De antemano muchas ...
  #1 (permalink)  
Antiguo 02/06/2008, 11:41
 
Fecha de Ingreso: diciembre-2002
Mensajes: 128
Antigüedad: 21 años, 11 meses
Puntos: 0
consultas n:n

Amigos estoy teniendo dificultades con las consultas muchos a muchos, si tubieran ejemplos o me pudieran decir donde encontrar estaria muy agradecido.

De antemano muchas gracias!
  #2 (permalink)  
Antiguo 03/06/2008, 02:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Respuesta: consultas n:n

si dices cual es tu dificultad....
  #3 (permalink)  
Antiguo 03/06/2008, 09:30
 
Fecha de Ingreso: diciembre-2002
Mensajes: 128
Antigüedad: 21 años, 11 meses
Puntos: 0
Respuesta: consultas n:n

me confunden no tengo claro como realizar insert o selects, por favor alguien me de ejemplos
  #4 (permalink)  
Antiguo 04/06/2008, 21:25
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Respuesta: consultas n:n

Relación de muchos a muchos, no existe. Para ese caso, se utiliza una tabla intermedia que se encarga de relacionar los valores de una tabla a otra.

Supongamos que tenemos 2 tablas A y B, donde varios valores de A se relacionan a varios valores de B, como no se puede hacer por integridad referencial, lo que se hace es una tercera tabla (C), la cual va a contener el valor de relación en común entre A y B.

Entonces, en ves de tener A<<-->>B, se va a tener.

A<-->>C<<-->B
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 04/06/2008, 22:29
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 19 años, 4 meses
Puntos: 24
Respuesta: consultas n:n

Te aconsejaría que veas algún tutorial de SQL.
http://www.desarrolloweb.com/manuales/9/
  #6 (permalink)  
Antiguo 05/06/2008, 06:07
 
Fecha de Ingreso: diciembre-2002
Mensajes: 128
Antigüedad: 21 años, 11 meses
Puntos: 0
Respuesta: consultas n:n

gracias....entiendo las explicaciones solo necesitaba unos ejemplos para practicar un poco mas
  #7 (permalink)  
Antiguo 05/06/2008, 07:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: consultas n:n

Para eso imagina una empresa de trabajo que encarga trabajo a trabajadores. Un trabajador puede realizar varios trabajos y un trabajo puede ser encargado a varios trabajadores a la vez. Intenta resolver el problema de guardar en una base los encargos de trabajo. Dinos qué harías... qué tablas crearías y con qué campos y relacionados de qué manera.
  #8 (permalink)  
Antiguo 05/06/2008, 12:35
 
Fecha de Ingreso: diciembre-2002
Mensajes: 128
Antigüedad: 21 años, 11 meses
Puntos: 0
Respuesta: consultas n:n

trabajos------> trabajadores_trabajos <---------trabajadores


y en trabajadores_trabajos las id de las correspondientes tablas


como hago un insert a a trsbajadores para asociarle un correspondiente trabajo
??
  #9 (permalink)  
Antiguo 05/06/2008, 13:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: consultas n:n

imaginemos que quieres insertar en la tabla intermedia trabajadortrabajo un encargo del trabajo 1 a los trabajadores 4 y 5
INSERT INTO trabajadortrabajo (refidtrabajador, refidtrabajo) VALUES (4,1), (5,1).
y si es de los trabajos 8 y 9 al trabajador 2.
INSERT INTO trabajadortrabajo (refidtrabajador, refidtrabajo) VALUES (2,8), (2,9).

No siempre tendrás que insertar dos registros a la vez. Lo más habitual será que insertes uno.
Por supuesto, no hará falta la inserción del idtrabajadortrabajo, pues al ser primary key y autoincrementable se generará al hacer la inserción.
Esto es por lo que se refiere a la base. Si hablamos de formularios con selectores, etc. (selección múltiple), ya entramos en otros campos que deberás ver en los foros específicos.

No sé si te habré perdido o despistado.
  #10 (permalink)  
Antiguo 05/06/2008, 14:15
 
Fecha de Ingreso: diciembre-2002
Mensajes: 128
Antigüedad: 21 años, 11 meses
Puntos: 0
Respuesta: consultas n:n

no....muchas gracias ya me estoy haciendo una idea mas clara de como es el tema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.