Como dije al principio, la DB puede tomar un tamaño enorme por no decir bestial, como dice la frase divide y vencerás.
La idea es crear una base de datos que contenga nombre de base de datos externas que estarán relacionadas con los pacientes.
Me explico, está la base de datos principal que se llamara: HospitalXY dentro de ésta están las tablas en común (Pacientes, Medicos, Habitaciones, etc), y la base de datos que contendrán nombre de base de datos relacionada con los pacientes, que se llamará ArchivosXY.
Cita:
Ejemplo:
Tabla Pacientes, (IDPACIENTE, PACIENTE, ETC...)
Tabla ArchivosXY, (IDARCHIVO, BASEDATOS, PACIENTEID)
|
Cuando ingreses un paciente, el IDPACIENTE que te dará la base de datos lo añades en la base de datos (ArchivoXY)
(BASEDATOS = nombre de como se llamara la base de datos que estará relacionada con el paciente)
(PACIENTEID = paciente que has ingresado en la base de datos pacientes)
Cita:
Ejemplo:
Pacientes, (435, 'Antonio José xxxxx yyyyyy', ETC..)
ArchivoXY, (5465, 'PACI435', 435)
|
Cuando quieras trabajar con el paciente (Antonio José) y coger toda su documentación que se le ha realizado en el hospital, su número es el 435
A la hora de realizar las secuencias SQL's no habrá ningún problema, eje.
Código SQL
[-]...
var
PacienteXY: String;
begin
with adoQry do
begin
Close;
SQL.Clear;
SQL.Add('SELECT');
SQL.Add(' IDPACIENTE');
SQL.Add(' FROM Pacientes');
SQL.Add(' WHERE IDPACIENTE = ' + edPaciente.Text);
Open;
PacienteXY := 'PACI' + FieldByName('IDPACIENTE').AsString;
Close;
end;
with adoQry do
begin
Close;
SQL.Clear;
SQL.Add('SELECT');
SQL.Add(' IDSCANNER');
SQL.Add(' ,DESCRIPCION');
SQL.Add(' ,FECHA');
SQL.Add(' ,IMAGEN');
SQL.Add(' ,OBSERVACIONES');
SQL.Add(' FROM ' + PacienteXY + '.dbo.ScannerImagenes');
Open;
...
...
...
Close;
end;
end;
No necesitas hacer un WHERE en la segunda adoQry por paciente ya que sabemos cual es el, pero puede hacer un WHERE por IDSCANNER para sólo mostrar uno o más de uno.
Espero haber contribuido en tu proyecto y despejar dudas
Un saludo.
P.D.: Esto está realizado en SQL SERVER