Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/07/2008, 23:26
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: como enlazar base de datos

Debes darnos alguna información más:
¿En cada visita se introducirá un nuevo diagnóstico que haya que añadir a la historia?
Si eso es así, tal vez lo mejor sería tener un campo en la tabla visitas llamado historia. Cuando insertas una nueva visita cargas en ese campo el contenido de la última historia de ese paciente y añades los datos del nuevo diagnóstico para la historia. De esa manera, la historia final la tienes en la última visita, y los estados anteriores en las visitas anteriores. Pero tal vez sería mejor aún tener un campo en visita llamado historia donde sólo añadieras la parte nueva de la historia, y podrías construir la historia reuniendo el contenido de esos campos. Las historias anteriores se reconstruyen reuniendo sólo hasta la fecha de la visita que quieras...
Otra posibilidad es tener una tabla de historias, que te cargue siempre la última, y cuando guardes, guardas el dato no como actualización, sino como inserción de nueva historia. Yo usaría este estructura, con una tabla para historia, en caso de que no todas las visitas añadieran algo a la historia. Si, como te digo, en cada visita va a añadirse algo y quieres incluir datos concretos de la visita en la historia, me inclinaría por las anteriores. Pero para eso debes conocer la naturaleza de la historia y todos los datos que se incluyen en ella, así como su relación con las visitas...(visitas, diagnósticos, pruebas). En resumen, debes decidir si al igual que paciente y visita, historia es una entidad y no un atributo. A mí me parece que debería ser entidad e ir en tabla aparte, pero para poder aconsejarte bien tendríamos que conocer los datos de una historia y su relación con visitas.
Cómo se ponen en relación las tablas, es fácil usando para el paciente el número de identificación de la seguridad social o el DNI, aunque tendrás que ver la posibilidad de que alguien no cuente con esa información...
En la tabla visitas tienes ese identificador como FK y el campo diagnóstico.
En la tabla paciente tienes ese identificador como PK.
Si quieres sacar la historia te basta con seleccionar haciendo un cruce INNER JOIN. Algo así como
SELECT tablapaciente.idpaciente, tablapaciente.nombrepaciente, tablapaciente.apellidospaciente, tablavisitas.diagnostico FROM tablapaciente INNER JOIN tablavisitas ON tablapaciente.idpaciente = tablavisitas.refidpaciente ORDER BY tablavisitas.fechavisita

Luego con programación presentas la historia.

Tu problema, creo, no va a ser el modo de enlazar, sino el modo de estructurar la base.

Te diré que hablo desde la total inexperiencia en estos temas. Por eso es muy importante el contacto con el profesional para el que realizas el trabajo.

Última edición por jurena; 14/07/2008 a las 00:28