Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2011, 16:30
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Como separar DB por usuarios

Buenas tardes elwebdeguate:

Aquí todo depende de tu modelo de datos para definir la forma en que vas a hacer tus consultas. Por un lado me imagino que tienes una tabla Médicos y Otra tabla Pacientes. La cardinalidad entre estas tablas es n a m (muchos a muchos) ya que una persona puede ser consultada por uno o más médicos y un médico a su vez puede atender a uno o más pacientes. De aquí se desprende que tienes que crear una nueva tabla donde almacenes las relaciones. Con datos sería así

Código:
Tabla Doctores
idDoctor|Nombre|Especialidad
----------------------------------------
1|Doctor X|Medicina Familiar
2|Doctor Y|Cardiología
3|Doctor Z|Traumatología

Tabla Pacientes
idPaciente|Nombre
-------------------------
97|Paciente A
98|Paciente B
99|Paciente C

Tabla Pacientes_Doctores
idP_D|idPaciente|idDoctor
----------------------------
1|97|1
2|98|1
3|97|2
4|97|3
5|98|3
6|99|3
Esto quiere decir que el paciente A es tratado por los médicos X, Y y Z, el paciente B es tratado por el médico A y el C y el paciente C es tratado sólo por el médico C.

Dependiendo del médico que acceda al sistema, al consulta para obtener los pacientes que atiende dicho médico sería más o menos así:

Código SQL:
Ver original
  1. SELECT * FROM Pacientes P WHERE EXISTS (SELECT * FROM Pacientes_Doctores P_D
  2. WHERE P_D.idDoctor = 3 AND P.idPaciente = P_D.idPaciente)

En este caso se están consultando los pacientes del doctor Z (idDoctor = 3).

Saludo
Leo.