Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Wiki Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • Saúde Bucal Quilombola
  • WikiWiki
  • Wiki
  • banco de dados

Last edited by Arthur Mariano Foltz Barroso Jun 21, 2025
Page history

banco de dados

Home Escopo e Cronograma Processo Design/Mockups Configuração Arquitetura Infra Código BD

Banco de Dados

Visão Geral

O projeto utiliza PostgreSQL como banco de dados relacional e Prisma ORM para gerenciamento do esquema, migrations e interações com o banco. O Prisma facilita a modelagem dos dados e permite um fluxo estruturado para evolução do schema ao longo do desenvolvimento.

Estrutura do Banco

O banco de dados segue o seguinte modelo:

(Diagrama_do_BD)

As principais entidades e suas relações são:

Resumo das Mudanças no Modelo de Banco de Dados (Início para Fim)

Expansão e Detalhamento de Usuários:

User (singular, com poucos campos) foi substituído por users (plural, com document, telephone, e campos de auditoria isDeleted, createdAt, updatedAt). Adição de user_roles e roles para um sistema de papéis mais flexível e robusto. Adição de password_resets para gerenciamento de redefinição de senha. Alteração na Relação forms e users:

Mudou de uma relação N:M (muitos-para-muitos, usando a tabela auxiliar Users no início) para uma relação 1:N (um-para-muitos, com user_id direto em forms no final). Isso significa que cada formulário agora pertence a um único usuário. Adição de Detalhes Geográficos:

Inclusão da tabela communities, adicionando uma camada extra de granularidade geográfica. Expansão da Tabela forms:

Inúmeras colunas foram adicionadas para coletar mais informações detalhadas: personDocument, personPhone, isMedicationUser, weight, bloodType, familyHeadEducationLevel, familySize. A coluna communityName foi substituída pela chave estrangeira Community_id, apontando para a nova tabela communities. Padronização e Detalhamento de ENUMs:

As tabelas de enumeração foram renomeadas de formatos como gender e CoreNote para gender_enum, satisfaction_enum, etc., com o sufixo _enum e um campo value. Refinamento de Tipos de Dados e Nomenclatura:

Os tipos de dados se tornaram mais específicos (ex: varchar, timestamp, boolean) em vez de genéricos (string, DateTime). A nomenclatura das tabelas foi padronizada para plural e minúsculas (ex: City para cities, State para states). Inclusão de Auditoria:

Campos como createdAt, updatedAt e isDeleted foram adicionados a várias tabelas (ex: users, forms), indicando maior controle e rastreamento de dados. Em essência, o modelo final é uma versão mais completa, granular e detalhada do modelo inicial, refletindo um projeto que amadureceu e precisou incorporar mais requisitos e complexidade em sua estrutura de dados.

Clone repository

Navegação

  • Home
  • Escopo e Cronograma
  • Processo
  • Design/Mockups
  • Configuração
  • Arquitetura
  • Infra
  • Código
  • BD