Você está na página 1de 6

LISTA DE EXERCÍCIOS – BANCO DE DADOS NÃO NORMALIZADOS

1. Considere o exemplo da tabela Hospital apresentada em aula, com atributos sobre Paciente
(características físicas) e diagnostico (sintomas e diagnostico – doente ou não). Descreva
rapidamente um exemplo de cenário (conjunto de aplicações) para o Sistema, que gere a
necessidade de ter dois agregados: Paciente e Diagnostico.

O cenário proposto consiste em um aplicativo que lida com o processo de consulta com o clinico
geral de qualquer paciente, o cenário abrange o ato de fazer a reserva para a consulta, a consulta
mesma com o médico e termina com o diagnóstico (para o qual o médico leva em consideração
o histórico de doenças congênitas pré-existentes) e a atribuição do tratamento ao paciente.

a) Faça um Diagrama de Classes de Objetos desses Agregados.

O diagrama acima tem dois agregados de Paciente e Diagnóstico, há uma classe


antecedentes_doencas_congenitas que contém informações adicionais sobre o histórico médico
do paciente. Uma vez que o cliente chama para sua unidade de saúde para solicitar a consulta
médica, ela é armazenada como um objeto da classe "Reservas". Essa classe “Reservas” possui
um campo que indica o ID do paciente ao qual a reserva pertence; além disso, possui um campo
da classe Médico com o ID do médico que atenderá ao paciente.

Uma vez que o paciente assiste à consulta e o médico faz as revisões correspondentes, registra
as informações de seus sinais vitais, sintomas e determina o estado disso; Essas informações
são armazenadas em um objeto da classe Diagnóstico, que também adiciona informações sobre
os tratamentos que devem ser aplicados ao paciente, pois pode haver vários tratamentos em
uma única consulta, na classe de tratamento existe um campo que relaciona os tratamentos ao
diagnóstico .
b) Redefina esse Diagrama, considerando uma alternativa de acesso aos dados,
considerando a necessidade de somente um agregado: Paciente.

Nesse caso, o aplicativo teria apenas a funcionalidade de fazer reservas para as consultas
solicitadas pelo paciente. Permanecendo da seguinte maneira:
2. Considere o cenário de somente um agregado chamado Paciente, que agrega dados dos
Paciente e dos seus Diagnósticos. Discuta rapidamente como esse agregado poderia ser
representado usando os modelos de Chave-Valor/Documentos e Família de Colunas de
Banco de Dados.

O cenário principal nesse caso seria poder acessar todos os dados do paciente, uma vez que
temos um único agregado, a classe do paciente é um contêiner de todas as outras classes, que
por sua vez agrupam as classes com as quais estão relacionados. A representação do modelo
pode ser vista abaixo:
No caso de famílias de colunas, como temos apenas um agregado, teríamos uma única família
de dados, a primeira coluna contém a designação dos atributos e a coluna seguinte contém as
informações correspondentes ao objeto selecionado, ou seja, devido a isso podemos acessar
todas as informações de um objeto específico com uma única operação.

nome "José"

cpf 45520245697

rg 486521548

Paciente ...............

Reserva codigo, data, unidade, tipo

Doença
Doença, tempo..., edade..., hereditário
congenita
DIAG001 temperatura, pressão, sintomas, ...
Diagnósticos DIAG002 temperatura, pressão, sintomas, ...
DIAG003 temperatura, pressão, sintomas, ...
3. Considere o cenário que gere a necessidade de ter dois agregados: Paciente e Diagnósticos.
Represente o modelo de acesso dessas estruturas utilizando banco de dados Famílias de
Colunas.

Nesse caso a representação seria de acordo com o seguinte diagrama:

nome "José"

cpf 45520245697

Paciente rg 486521548

...............

Reserva codigo, data, unidade, tipo

Doença Doença, tempo..., edade...,


congenita hereditário

temperatura, pressão, peso,


DIAG001 sintomas, trata., méd.
temperatura, pressão, peso,
DIAG002 sintomas, trata., méd.
temperatura, pressão, peso,
DIAG003
Diagnósticos sintomas, trata., méd.
temperatura, pressão, peso,
DIAG004 sintomas, trata., méd.
temperatura, pressão, peso,
DIAG005 sintomas, trata., méd.
temperatura, pressão, peso,
DIAG006 sintomas, trata., méd.
4. Considere o cenário de somente um agregado chamado Paciente, que agrega dados dos
Pacientes e dos Diagnósticos. Discuta rapidamente como esse agregado poderia ser
acessado através de operações Map/Reduce que permita contabilizar a quantidade de
pacientes doentes.

A primeira fase do Map-Reduce filtra todos os pacientes para obter apenas aqueles que estão
doentes; para isso, é necessário aceder a os objetos da classe “Diagnóstico” relacionados aos
objetos da classe de pacientes, e consultamos o atributo de estado de saúde para identificar os
pacientes doentes.

A segunda fase conta o número de pacientes com status doente. O diagrama a seguir ilustra o
processo:

PacienteID: nome: Jose


PA001 Estado Saúde: Doente

Quantida Estado Saúde: Doente


PacienteID: nome: Liliane
M/R de
PA002 Estado Saúde: Doente M/R
Doentes Quantidade: 3

PacienteID: nome: Carlos


PA003 Estado Saúde: Doente

Você também pode gostar