Olá,
Estou iniciando a criação de alguns relatórios um pouco mais complexos em um sistema existente, mas tenho dúvidas sobre a melhor forma de faze-los. Será que posso contar com algumas idéias de vocês?
Para começar, vou dar um exemplo simplificado do que preciso:
[code]Tabela PACIENTES:
- ID
- NOME
- (outros atributos)
Tabela CONSULTAS:
- ID
- ID_PACIENTE (fk para PACIENTES.ID)
- DATA
- VALOR
- DIAGNÓSTICO
- (outros atributos)
Tabela CONSUMO_MEDICAMENTOS:
- ID
- ID_PACIENTE (fk para PACIENTES.ID)
- NOME_MEDICAMENTO
- VALOR
- (outros atributos)[/code]
Dado essa estrutura do BD, serão gerados alguns relatórios que envolvem múltiplas tabelas e cálculos. Por exemplo:
- Custo de consultas, medicamentos e total por paciente.
- Estatística de pacientes por tipo de doença (diagnóstico) - quantidade de pacientes, gasto médio.
- Gasto geral de todos os pacientes por intervalo de datas.
- etc etc etc.
O que eu tenho dúvidas é principalmente o seguinte: que partes do trabalho é mais aconselhável colocar em consultas SQL, e que partes devem ser feitas via código (objetos de negócio)? Qual a melhor forma de modelar os objetos que farão esse trabalho? Por exemplo, uma classe por relatório, responsável por obter os dados e que é consumida pela camada de apresentação?
Qualquer auxílio será bem-vindo!