Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-06-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: Oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 15
karlaoax Va por buen camino
Question Una orientacion para Aplicacion MySQL

Hola a todos, tengo una duda de como crear una aplicacion en MySQL. Les explico:

Quiero hacer un ejemplo de un consultorio medico, pero mi problema que tengo es que si un paciente lo guardo en mi Tabla, por medio de un RFC (Aqui en Mexico es como una identificacion), y este paciente me visita hoy 15 Junio 2007, pero luego me vuelve a visitar el 17, el 21, el 25, etc. .....

Que me sugieren para hacer procedimiento,
1.- Es recomendable estar creando tablas independientes para cada vez que me visita mi paciente? (aunque no me gusta esta opcion)

2.- Ademas, si la trato de guardar en mi misma tabla, ya saben que no se pueden agregar mas Registros iguales (en mi caso el RFC es mi clave primaria) y marcaria Key Violation

Desde ya gracias por la orientacion posible.
Karla
Responder Con Cita
  #2  
Antiguo 15-06-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: Jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 17
Caro Va por buen camino
Hola karlaoax, yo creo que deberias tener 2 tablas una de pacientes y otra de visitas, en pacientes estarian todos los datos generales de tu paciente y en visitas todas las visitas que realiza el paciente al consultorio

PACIENTES(RFC, NOMBRE,....)
VISITAS(FECHA_VISITA,......,RFC)

y estarian relacionados con tu campo RFC

Saludos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 15-06-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: Oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 15
karlaoax Va por buen camino
Cita:
Empezado por Caro
Hola karlaoax, yo creo que deberias tener 2 tablas una de pacientes y otra de visitas, en pacientes estarian todos los datos generales de tu paciente y en visitas todas las visitas que realiza el paciente al consultorio

PACIENTES(RFC, NOMBRE,....)
VISITAS(FECHA_VISITA,......,RFC)

y estarian relacionados con tu campo RFC
Ok gracias, pero recuerda que si hago esta opcion en mi tabla VISITAS tendria mi RFC como clave primaria, el problema es que si me visita el 15 Junio, lo guarda bien, pero si me visita el 17, como ya se almaceno su RFC en la tabla, mi pregunta es, como guardar, En fechas diferentes para un mismo registro

Si hago la opcion que me dijiste me marcaria Key Violation, porque ya existe un registro con el mismo RFC,,,,,,,,,,,,, Gracias
Responder Con Cita
  #4  
Antiguo 15-06-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: Jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 17
Caro Va por buen camino
No tendrias ese problema porque solo en tu tabla de Pacientes tu campo RFC seria tu llave primaria pero en tu tabla Visitas tu RFC seria una llave foranea que significa que se puede repetir, la relación entre estas tablas seria de de 1 a muchos.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 15-06-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: Oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 15
karlaoax Va por buen camino
Ok gracias CARO por la orientacion voy a hacer una prueba para ver como queda.

Los voy a unir por medio de SQL al momento de hacer las consultasy presentar en pantalla los resultados.
Karla
Responder Con Cita
  #6  
Antiguo 15-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: May 2003
Ubicación: Ciudad de México
Posts: 20.172
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Yo te recomiendo que no uses el RFC como llave primaria. En general, no deberían usarse campos que tengan un significado práctico como llaves primarias. Si por error registras un paciente con un RFC incorrecto, tendrás que liarte con la corrección en todas las tablas que usen ese RFC como llave foránea. Siguiendo lo delineado por Caro, yo usaría esta estructura:

Código:
+---------------------------------+
|           pacientes             |
+----+-----+--------+-------------+
| id | rfc | nombre | otros datos |
+----+-----+--------+-------------+
|    |     |        |             |
| pk |  uk |        |             |
|    |     |        |             |
|    |     |        |             |
+----+-----+--------+-------------+

+--------------------------+
|          visitas         |
+----+-------------+-------+
| id | paciente_id | fecha |
+----+-------------+-------+
|    |             |       |
| pk |      fk     |       |
|    |             |       |
|    |             |       |
|    |             |       |
|    |             |       |
|    |             |       |
|    |             |       |
|    |             |       |
+----+-------------+-------+
pk = llave primaria, uk = llave única, fk = llave foránea.

La llave primaria, sería un autoincremental.

// Saludos
Responder Con Cita
  #7  
Antiguo 15-06-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: Oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 15
karlaoax Va por buen camino
Buen punto Roman, gracias, Ambas recomendaciones me serviran mucho para la creacion de este ejemplo.

Asi cuando guarde varios ID con sus respectivos RFC en mi tabla visitas, no me saldra el mensaje KeyViolation, y podre consultar sus fechas de visita cuantas veces sea necesario.

Gracias a ambos por sus sugerencias.

Karla

Última edición por karlaoax fecha: 15-06-2007 a las 17:47:38.
Responder Con Cita
  #8  
Antiguo 15-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: May 2003
Ubicación: Ciudad de México
Posts: 20.172
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Cita:
Empezado por karlaoax
Asi cuando guarde varios ID con sus respectivos RFC en mi tabla visitas
Noooo. El RFC no se guarda en la tabla de visitas, sólo en la de pacientes. De lo contrario obtienes el mismo problema: un error en el rfc de un paciente te obliga a corregir todas las vistas de ese paciente. El RFC así como el nombre y demás datos de un paciente los obtienes al enlazar ambas tablas:

Código SQL [-]
select pacientes.rfc, pacientes.nombre, visitas.fecha
from visitas
left join pacientes on pacientes.id = visitas.paciente_id
...

// Saludos
Responder Con Cita
  #9  
Antiguo 15-06-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: Oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 15
karlaoax Va por buen camino
sorry es que lo escibi mal, pero si, eso lo que voy a hacer je je je

gracias Roman
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Codigos para impresoras: tipos de letra, orientacion hoja, etc Meneleo Impresión 1 11-03-2007 07:40:29
Conectar aplicación Delphi con MySQL Marciano MySQL 6 02-09-2006 20:08:32
Aplicacion + MySQL en LAN Albano Conexión con bases de datos 11 04-02-2006 20:06:08
Conexión de una aplicacion cliente en varias pc a un servidor mysql ctronx Conexión con bases de datos 6 16-07-2004 16:55:39
necesidad de orientacion para aplicativo clinica dental FNADALO Varios 2 30-12-2003 16:19:10


La franja horaria es GMT +2. Ahora son las 13:19:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi