Skip to main content

Modelagem do Banco de Dados

Introdução

  A modelagem de dados do projeto foi concebida para organizar de forma estruturada as informações obtidas nas expedições e gerar suporte robusto ao processo de classificação de fissuras por modelos de visão computacional. A arquitetura segue o modelo relacional, garantindo integridade referencial por meio de chaves primárias e estrangeiras e permitindo escalabilidade e clareza nos relacionamentos entre os elementos principais do sistema.

Diagrama da Modelagem

Figura 1 - Diagrama da Modelagem do Banco de Dados

Modelagem do Banco de Dados

Fonte: Os autores (2025)

Tabelas

User

CampoDescriçãoTipo
idIdentificador único de cada usuárioChave primária
emailEndereço de e-mail usado para autenticação (único)String(200)
nome_completoNome completo do usuário para exibição e identificaçãoString(200)
senhaSenha de acesso (armazenada de forma segura/criptografada)String
cargoFunção ou perfil de acesso do usuário dentro da aplicaçãoString

Relacionamentos:

  • Pode ser responsável por uma ou mais expedições (Expedition)
  • Pode atuar como auditor (Audit)
  • Gera logs de interação com o sistema (Log)

Expedition

CampoDescriçãoTipo
idIdentificador único de cada expediçãoChave primária
nomeNome atribuído à expediçãoString(200)
localizacaoLocalidade onde a expedição foi realizadaString
data_criacaoData em que o registro da expedição foi criadoDate
ultima_attData da última atualização feita no registro da expediçãoDate (nullable)
id_responsavelIdentificador do usuário responsável; referência a user.idChave estrangeira
descricaoTexto descritivo detalhando o propósito e atividades da expediçãoString
foto_capaURL da imagem utilizada como foto de capaString

Relacionamento:

  • Uma expedição pode agrupar vários edifícios (Building).

Building

CampoDescriçãoTipo
idIdentificador único de cada edifícioChave primária
id_expedicaoIdentificador da expedição; referência a expedition.idChave estrangeira
nomeNome do edifícioString(200)
complementoInformação adicional do endereço ou referênciaString
descricaoDescrição detalhada do edifícioString
foto_fachadaURL da imagem da fachada do edifícioString

Relacionamento:

  • Cada edifício pode ter várias imagens associadas (Image).

Image

CampoDescriçãoTipo
idIdentificador único da imagemChave primária
urlURL onde a imagem original está armazenadaString
nomeNome do arquivo da imagemString(200)
hora_coletaData e hora da capturaDateTime
orientacaoDireção cardeal da fachada no momento da imagemString
id_predioReferência ao prédio relacionado; building.idChave estrangeira
id_modeloReferência ao modelo usado na análise (opcional); model.idChave estrangeira (nullable)

Relacionamento:

  • Cada imagem pode conter múltiplas fissuras (Fissure).

Fissure

CampoDescriçãoTipo
idIdentificador único da fissuraChave primária
confiabilidadeGrau de confiança na classificaçãoInteger
categoriaClassificação original da fissuraString(200)
id_imageImagem associada; referência a image.idChave estrangeira
url_fissuraURL da imagem recortada contendo apenas a fissuraString
categoria_atualNova classificação após auditoria (se houver)String(200)

Relacionamentos:

  • Pode ser auditada via Audit.

Audit

CampoDescriçãoTipo
idIdentificador único da auditoriaChave primária
data_auditoriaData em que a auditoria foi realizadaDate
id_fissuraFissura auditada; referência a fissure.idChave estrangeira
id_auditorUsuário responsável pela auditoria; referência a user.idChave estrangeira
statusEstado da auditoria (validado, rejeitado, pendente)Integer
modifiedIndicador se a anotação foi modificada (0 = não, 1 = sim)Integer (booleano)

Model

CampoDescriçãoTipo
idIdentificador único do modeloChave primária
urlCaminho do arquivo do modeloString
nomeNome de identificação do modeloString(200)
tipoTipo de arquitetura usada (ex: CNN, ResNet, etc.)String
lossValor final da função de perda após treinamentoInteger
loss_tipoTipo de função de perda utilizada (ex: "cross_entropy", "MSE")String

Relacionamento:

  • Cada modelo pode estar associado a várias imagens (Image).

Log

CampoDescriçãoTipo
idIdentificador único do logChave primária
id_responsavelUsuário que gerou o log; referência a user.idChave estrangeira
dataData e hora da açãoDateTime
statusCódigo de status do eventoInteger
descricaoTexto descritivo sobre o evento registradoString(500)

Relacionamentos Gerais

  • 1:N entre User e Expedition, Audit, Log
  • 1:N entre Expedition e Building
  • 1:N entre Building e Image
  • 1:N entre Image e Fissure
  • 1:N entre Fissure e Audit
  • 1:N entre Model e Image (opcional)

Conclusão

  A modelagem relacional adotada fornece a estrutura necessária para gerenciar dados de forma robusta, mantendo a integridade e escalabilidade do sistema. A separação clara entre as entidades permite rastrear todo o ciclo de vida das imagens — desde a coleta até a auditoria das fissuras detectadas — oferecendo transparência, controle de qualidade e auditabilidade ao processo.

Fonte: Os autores (2025)