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

Ayuda con una relacion mysql

Estas en el tema de Ayuda con una relacion mysql en el foro de Mysql en Foros del Web. Hola, necesito hacer una relación un poco extraña para mi pero muy importante, a ver si me explico con un ejemplo: tengo una tabla medicos ...
  #1 (permalink)  
Antiguo 22/02/2009, 18:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Ayuda con una relacion mysql

Hola, necesito hacer una relación un poco extraña para mi pero muy importante, a ver si me explico con un ejemplo:

tengo una tabla medicos
tengo una tabla pacientes
tengo una tabla consulta

la tabla medicos y pacientes está relacionada por una tabla intermedia que me permite consultar de forma que forman una relación muchos a muchos, el problema es que no sé muy bien como relacionar la tabla consultas para que:
un paciente puede tener varias consultas de un mismo medico y de medicos distintos, luego quiero poder ver las consultas de cada paciente con cada médico y con todos los medicos

Espero que se me haya entendido algo. Cada tabla tiene una clave principal ID , pero no sé como relacionar las consultas

muchas gracias
  #2 (permalink)  
Antiguo 22/02/2009, 19:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda con una relacion mysql

Me imagino que la tabla consultas es la tabla resultante entre la relación n - m entre médicos y pacientes.

la tabla consultas debe tener el id de paciente y el id de médicos (y otros atributos si es necesario).

de esta forma es facil hacer una consulta anidada entre consultas, medicos y pacientes para determinar las consultas por paciente o medico.

Espero haberte ayudado ;)
  #3 (permalink)  
Antiguo 22/02/2009, 19:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Ayuda con una relacion mysql

Gracias, sé que tengo que incluir ambos IDs pero el problema es que no sé como hacer ya que en cada consulta se agregan datos específicos de esta y a la vez lo tenog que tener relacionado con un medico y un paciente pero:

tengo que poder registrar todas las consultas de un paciente
un paciente puede tener varias consultas del mismo medico (esto me marca un problema)
un paciente puede tener varios medicos

soy un poco nueva en esto de las multirrelaciones en mysql , así que perdón por la insistencia pero no tengo mucha idea de como hacer GRACIAS
  #4 (permalink)  
Antiguo 22/02/2009, 21:38
Avatar de Txane  
Fecha de Ingreso: febrero-2004
Ubicación: Morelia Michoacan
Mensajes: 272
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: Ayuda con una relacion mysql

Hola que tal, pues no le veo mayor problema si tienes varias consultas de un paciente con un mismo medico o con varios, solo ponle a tu tabal de consultas su propio id para que puedas diferenciar un registro de otro, igual otro campo que sea mas facil de identificar como la fecha.


suerte.
  #5 (permalink)  
Antiguo 22/02/2009, 21:46
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda con una relacion mysql

create table medico(id_med integer not null primary key,
nom_med text);
create table paciente(id_pac integer not null primary key,
nom_pac text);
create table consultas(id_pac integer, id_med integer, fecha datetime,
foreign key (id_pac) references paciente(id_pac),
foreign key (id_med) references medico(id_med)
);

De esta forma, puedes registrar todas las consultas de un paciente, con medicos
diferentes, o con el mismo medico y tener varios medicos atentiendo consultas..

Es exactamente como dice Txane.

Espero te sirva de ayuda.
  #6 (permalink)  
Antiguo 22/02/2009, 23:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Ayuda con una relacion mysql

Muchisimas gracias!! claro es eso lo que busco, los comienzos siempre son duros jejeje
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:31.