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

Pasar de unos requisitos a E-R

Estas en el tema de Pasar de unos requisitos a E-R en el foro de Bases de Datos General en Foros del Web. Hola, os voy a contar unos requisitos a ver si me podeis decir que entidades creo y con qué relaciones. Un paciente puede ir varias ...
  #1 (permalink)  
Antiguo 04/06/2005, 08:56
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Pasar de unos requisitos a E-R

Hola, os voy a contar unos requisitos a ver si me podeis decir que entidades
creo y con qué relaciones.

Un paciente puede ir varias veces a la clínica para tratarse de diversos tratamientos o por algo concreto como un masaje etc.
Para tratar el tratamiento l paciente hará varias sesiones en las cuáles se le
aplicarán una o varias terapias.
Yo veo claro que tratamiento está relacionado con terapias mediante
una relación N:M pero sesión? que lo pondría como una entidad aparte, como un atributo de tratamiento... Alguna idea?. En caso de ponerlo como una entidad aparte cómo lo relaciono?

Gracias.
  #2 (permalink)  
Antiguo 07/06/2005, 03:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 19 años
Puntos: 0
Yo haria algo por estilo:
Paciente(idPactiente)--->Sesión(IdPaciente,IdSesion)-->Tratamiento(IdPaciente,IdSesion,Tratamiento).

lo que he colocado entre parentesis serían las PK faltarían los demas campos

Espero te sirva
  #3 (permalink)  
Antiguo 07/06/2005, 03:52
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Hola, gracias pero no lo veo claro pq si kiero tener la información
de las terapias que se aplican en cada sesión dentro de cada tratamiento, kizás debería ir relacionado con Tratamiento-Terapia (surge d la relación N:M entre Tratamiento y Terapia) en vez d con tratamiento directamente no?.
o al star Tratamiento relacionado con Tratamiento-Terapia no necesito
relacionar Sesión con Tratamiento-Terapia?

D todas formas jjaa1969 si no me ekivoco la PK d sesión sería únicamente idsesion y la Pk d tratamiento, id tratamiento, lo otro serían claves ajenas.

Agradecería alguna ayuda más, saludos.
  #4 (permalink)  
Antiguo 07/06/2005, 04:30
 
Fecha de Ingreso: abril-2005
Ubicación: vivo donde puedo
Mensajes: 133
Antigüedad: 19 años
Puntos: 0
seguramente hay varias maneras de resolverlo, pero yo creo que la relación fundamental es la que se produce cuando un cliente o paciente entra a la clínica, da igual para qué. se puede expresar así:

varios clientes pueden visitar la clínica para varios servicios.

los servicios los imparte un especialista, estoy convencido de que no puede ser de otra manera, entonces la expresión quedaría así:

varios clientes son atendidos por varios especialistas.

puedes optar por incluir todos los campos en una sola tabla puente o, diseñar distintas tablas puente para distintas finalidades, pero con el mismo tipo de relación.

si estás trabajando con access esta última posibilidad es muy fácil de implementar.

creo que el tema no es fácil. puedes visitar mi blog dónde hay varios ejemplos.
__________________
Visita mi página web.Carlos Zapata Company
Visita mi blog.
Únete a mi lista de correo.
--------------------------------------------------
La identidad no es lo que fuimos, ni lo que creemos que somos; la identidad es cómo miramos la mundo.

José Luis Rodríguez Zapatero, actual presidente del Gobierno español.
  #5 (permalink)  
Antiguo 08/06/2005, 10:43
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Hola, gracias Navajito pero el kit de la cuestión es detallarlo todo bien.
En la clínica solo hay un especialista o si hay más en el futuro no interesa
saber q especialista atendió a cada paciente por lo que no necesito la relación
clientes-especialistas.

Saludos
  #6 (permalink)  
Antiguo 09/06/2005, 05:27
 
Fecha de Ingreso: abril-2005
Ubicación: vivo donde puedo
Mensajes: 133
Antigüedad: 19 años
Puntos: 0
una cosa es que yo no sepa resolver el problema, que no te convenza, pero tu planteamiento cosidero es completamente desacertado. no se puede hacer una aplicación sin tener en cuenta que puede pasar en el futuro, esta es una de las normas básicas que he leido en alguna parte. el diseño de la aplicación tiene su propia lógica independientemente de las necesidades inmediatas a cubrir. pero esto es una opinión que reconozco que nadie me ha pedido y, que tal vez a ti no te haga ninguna falta. lo que si te propongo es que las relaciones entre las tablas tengan un aspecto parecido a este.

http://www.carloszcom.com/blogima_gr...iento_i_6.html

donde dice participa puedes poner visita
donde dice llamada puedes poner tratamiento
etc. etc.

algún día intentaré hacerlo de otra manera. con una sola tabla puente pero todavía estoy sopesando los pros y los contras.

como ya te dije este diseño es muy adecuado si trabajas con access. voy a intentar hacer algo parecido con php y mysql pero de momento es solo algo que tengo en la cabeza.
__________________
Visita mi página web.Carlos Zapata Company
Visita mi blog.
Únete a mi lista de correo.
--------------------------------------------------
La identidad no es lo que fuimos, ni lo que creemos que somos; la identidad es cómo miramos la mundo.

José Luis Rodríguez Zapatero, actual presidente del Gobierno español.
  #7 (permalink)  
Antiguo 09/06/2005, 08:14
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Siento si t ofendí pero en ningún momento dije que no supieras resolver el problema, solo que ese punto de detalle hasta el que tú expusiste ya lo tenía claro. Mi lío y problema viene al detallar las cosas.
Te vuelvo a repetir que en la clínica hay un único especialista
y aunq en el futuro pueda haber más mi cliente no quiere nada
en la aplicación que detalle el especialista que trató por lo tanto yo no tengo
porqué contemplar eso en la aplicación.
No trabajo con Access trabajo con Sql server.

Saludos.
  #8 (permalink)  
Antiguo 09/06/2005, 09:00
 
Fecha de Ingreso: abril-2005
Ubicación: vivo donde puedo
Mensajes: 133
Antigüedad: 19 años
Puntos: 0
contesto para decirte que no me ofendiste en absoluto y siento que lo hayas interpretado así. no he trabajado con sql server pero vale el esquema que te proponía en el mensaje anterior. y en cuanto a tu cliente y lo que necesita sigo convencido de que antes de un tratamiento hay una consulta previa con un especialista o con una secretaria, hay un momento en que se realiza un diagnóstico y se propone una forma de abordar el problema, sigo igualmente convencido de que tu cliente no va por la calle secuestrando gente para aplicarle tratamientos por muy beneificiosos que estos sean.

desde otro punto de vista una hipótesis es que en ese centro se aplian una serie de tratamientos tipificados en cuyo caso volvemos a tener una relación varios a varios, es decir, varios pacientes pueden recibir varios tratamientos, esto es así porque el que hoy recibe un tratamiento para una cosa el día de mañana puede recibir otro tratamiento para otra cosa distinta. pero otra hipótesis distinta es que los tratamientos no están tipificados y se van orientando sobre la marcha, entonces sería más apropiado una relación uno a varios, es decir, un paciente puede recibir varios tratamientos.

que tengas suerte.
__________________
Visita mi página web.Carlos Zapata Company
Visita mi blog.
Únete a mi lista de correo.
--------------------------------------------------
La identidad no es lo que fuimos, ni lo que creemos que somos; la identidad es cómo miramos la mundo.

José Luis Rodríguez Zapatero, actual presidente del Gobierno español.
  #9 (permalink)  
Antiguo 09/06/2005, 09:10
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Me alegro, gracias.
  #10 (permalink)  
Antiguo 10/06/2005, 00:00
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Ayer no tenía tiempo para contestarte pero lógicamente antes de aplicar un tratamiento, tiene que haber un diagnóstico y una valoración del problema. Creo que no he dicho lo contrario.
En este caso los tratamientos no están tipificados, un paciente puede tener
varios tratamientos. Lo que está tipificado son las terapias o técnicas
fisioterápicas que se aplican dentro de un tratamiento, es decir una misma terapia puede formar parte de varios tratamientos y un tratamiento puede estar formado por varias terapias.

Saludos.
  #11 (permalink)  
Antiguo 10/06/2005, 04:50
 
Fecha de Ingreso: abril-2005
Ubicación: vivo donde puedo
Mensajes: 133
Antigüedad: 19 años
Puntos: 0
entonces la situación la expresaría así

varios pacientes pueden recibir varias terapias.

esto es una relación varios a varios que se resuelve con una tabla puente, a la que llamamos tratamiento. si necesitas distinguir un tratamiento de otro o distintas fases dentro del tratamiento utilizas consultas que te filtran por los campos de la tabla puente. es muy importante que la tabla puente, es decir, la tabla tratamiento contenga campos que indique la fecha en que se aplica la terapia, también debe de tener un campo autonumérico.

se puede ampliar este concepto a una relación varios a varios múltiple que se expresaría así

varios paciente pueden recibir varias terapias aplicadas por varios especialistas. en este caso la tabla tratamiento, es decir, la tabla puente debería de tener un campo más, una tercera clave secundaria además de idpaciente e idterapia tendría que llevar idespecialista.

ya me has dicho que tu cliente no lo necesita de momento.

en mi blog hay ejemplos de como gregar registros a una tabla puente. puedes ir directamente a los artículos "mantenimiento de las tablas puente I, II, III, IV" o puedes volver a dejar un mensaje.
__________________
Visita mi página web.Carlos Zapata Company
Visita mi blog.
Únete a mi lista de correo.
--------------------------------------------------
La identidad no es lo que fuimos, ni lo que creemos que somos; la identidad es cómo miramos la mundo.

José Luis Rodríguez Zapatero, actual presidente del Gobierno español.
  #12 (permalink)  
Antiguo 10/06/2005, 14:22
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
No es tan simple como parece. Lo solucioné diciendo que un paciente puede tener varios tratamientos. Cada tratamiento está compuesto de varias sesiones y en cada sesión se pueden aplicar varias terapias. En este caso se crearía una tabla intermedia (o puente como tú dices) que es sesión-terapia.

Saludos.
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 04:05.