O presente projeto foi feito com o intuito de aprimorar minhas habilidades em modelagem de dados e SQL.
Um bom projeto de Banco de Dados Relacional deve passar primeiramente pela parte do modelo conceitual, onde são definidas as seguintes informações:
- Entidades;
- Atributos;
- Chaves;
- Relacionamentos; e
- Cardinalidades.
O principal objetivo do modelo conceitual é representar de forma simples as informações do determinado contexto de negócios. Nesse projeto, foi utilizada a plataforma do brModelo para modelagem do DER e MR.
OBS: É importante fazer revisões do DER, pois algumas incosistências podem estar mascaradas no diagrama!
O modelo lógico diz respeito à organização do Banco de Dados no nível do SGBD. Essa etapa do processo pode ser feita diretamente no MySQL ou é automaticamente gerada pelo brModelo.
Por fim, o modelo físico diz respeito à codificação. Nessa etapa, as tabelas e seus devidos relacionamentos são codificados, bem como a inserção de dados e consultas.
A seguir, são apresentadas as entidades modeladas e seus respectivos atributos no primeiro DER:
- Consultório (id, sala, endereço)
- Doutor (crm, cpf, nome, nascimento, endereço)
- Especialização (id, nome)
- Paciente (cpf, nome, nascimento, endereço)
- Receita médica (id, data_emissao, medicamento, CID)
Algumas alterações foram feitas posteriormente no DER. Notou-se uma inconsistência na modelagem em relação ao atributo 'medicamento', onde uma receita médica poderia ter mais de um medicamento e diferentes dosagens. Portanto, optou-se por transformar esse atributo em uma tabela:
- Medicamento (id, nome, dose, frequencia)
As tabelas de relacionamento, em primeiro momento, foram:
- Consultorio_doutor (cons/doutor)
- doutor_especializacao (doutor/espec)
- paciente_doutor