A base de dados do projeto HemoVida foi projetada para gerir o processo de doação e transfusão de sangue de forma eficiente. Ela é composta por diversas tabelas interligadas que armazenam e organizam informações sobre doadores, doações, bolsas de sangue, transfusões, exames médicos, campanhas e hospitais.
dadores contém as informações pessoais dos dodores de sangue, como nome, e-mail, número único de utente, tipo sanguíneo, peso, sexo, estado e data de inscrição;doacoes controla as marcações feitas para doação de sangue, associando cada doação a um dador. Regista a data, hora, o estado da doação e observações adicionais;bolsas_sangue controla o inventário de bolsas de sangue coletadas, associando cada uma a um dador. Regista o volume de sangue, a data de coleta, a data de validade e o estado;exames contém os exames médicos realizados nas bolsas de sangue. Regista os níveis de hemoglobina e os resultados de testes para doenças como hepatite, HIV, chagas e sífilis. Por fim, também registado o resultado do exame;hospitais contém as informações sobre os hospitais parceiros. Regista o nome, endereço, contato e o nome do responsável do hospital;transfusoes relaciona as bolsas de sangue a pacientes que recebem transfusões nos hospitais. Regista o ID da bolsa de sangue, o número único de utente do receptor, a data da transfusão e o hospital onde foi realizada.campanhas Armazena informações sobre campanhas de doação (título, datas de início/fim, meta de doações, prioridade e descrição);campanhas_tipos_sanguineos Relaciona campanhas com tipos sanguíneos específicos visados;dadores ↔ doacoes um doador pode realizar várias doações;doacoes ↔ bolsas_sangue cada doação pode gerar uma ou mais bolsas de sangue;bolsas_sangue ↔ exames todas as bolsas são submetidas a exames antes de serem utilizadas;bolsas_sangue ↔ transfusoes apenas as bolsas aprovadas podem ser utilizadas para transfusões;transfusoes ↔ hospitais as transfusões são realizadas em hospitais registados como parceiros;Evento agendado ↔ campanhas_tipos_sanguineos Cada campanha pode visar múltiplos tipos sanguíneos;Procedimento armazenado - atualizar_progresso_campanhas recalcula automaticamente doações válidas associadas a campanhas ativas;Trigger - after_doacao_insert executa o procedimento de atualização após cada nova doação registada;Evento agendado - Rotina diária para verificar validade de bolsas e atualizar progresso das campanhas;Formulários de triagem - Registam critérios de elegibilidade dos doadores com validação automática de prazos;
Modelo E-R da Base de Dados