Skip to content

Latest commit

 

History

History
219 lines (199 loc) · 6.55 KB

File metadata and controls

219 lines (199 loc) · 6.55 KB

Modelo Entidade-Relacionamento — cgov-riscos-v2.1

Sistema de Gerenciamento de Riscos Organizacionais — ICMBio

Versão: 2.1 | Data: 19/04/2026


erDiagram

    EstruturaOrganizacional {
        int     id              PK
        string  codigoUnidade
        string  nome
        string  sigla
        string  tipo
        string  parenteSigla
        string  parenteNome
        string  responsavelNome
        string  responsavelEmail
        string  uf
        boolean ativo
    }

    Processos {
        int     id              PK
        string  codigoProcesso
        string  nomeProcesso
        int     unidadeId       FK
        string  descricao
        boolean ativo
    }

    CategoriasRisco {
        int     id              PK
        string  codigoCategoria
        string  nomeCategoria
        string  tipoRisco
        string  descricao
        string  cor
        boolean ativa
    }

    Riscos {
        int     id                      PK
        string  codigoRisco
        string  titulo
        string  descricao
        int     unidadeId               FK
        string  unidadeNome
        int     processoId              FK
        string  processoNome
        int     categoriaId             FK
        string  categoriaNome
        string  proprietarioEmail
        string  proprietarioNome
        string  origem
        string  causa
        string  consequencia
        string  status
        string  fluxoEtapa
        date    dataIdentificacao
        int     probabilidadeInerente
        int     impactoInerente
        string  nivelInerente
        int     probabilidadeResidual
        int     impactoResidual
        string  nivelResidual
        string  normativoRelacionado
        date    proximaRevisao
        string  frequenciaRevisao
        string  criadoPorEmail
        string  modificadoPorEmail
    }

    Controles {
        int     id                  PK
        int     riscoId             FK
        string  nome
        string  descricao
        string  tipo
        string  responsavelEmail
        string  responsavelNome
        string  periodicidade
        string  eficacia
        date    dataUltimaAvaliacao
        string  observacoes
    }

    AvaliacoesRisco {
        int     id              PK
        int     riscoId         FK
        string  tipoAvaliacao
        int     probabilidade
        int     impacto
        float   nivelCalculado
        string  apetiteRisco
        date    dataAvaliacao
        string  avaliadorEmail
        string  avaliadorNome
        string  justificativa
    }

    PlanosTratamento {
        int     id              PK
        string  codigoPlano
        int     riscoId         FK
        string  estrategia
        string  descricaoPlano
        string  responsavelEmail
        string  responsavelNome
        date    dataInicio
        date    dataFimPrevista
        string  status
        float   custoEstimado
    }

    AcoesTratamento {
        int     id                  PK
        string  codigoAcao
        int     planoId             FK
        string  descricao
        string  responsavelEmail
        string  responsavelNome
        date    dataInicio
        date    dataFimPrevista
        date    dataConclusao
        string  status
        int     percentualConclusao
        string  resultadoEsperado
        string  observacoes
    }

    Evidencias {
        int     id              PK
        string  contextoTipo
        int     contextoId
        string  contextoNome
        string  tipoEvidencia
        string  descricao
        string  arquivoOuLink
        date    dataRegistro
        string  registradoPorEmail
        string  registradoPorNome
    }

    RevisoesRisco {
        int     id              PK
        int     riscoId         FK
        date    dataRevisao
        string  revisorEmail
        string  revisorNome
        string  decisao
        string  resumoRevisao
        date    proximaRevisao
    }

    EventosRisco {
        int     id              PK
        int     riscoId         FK
        date    dataEvento
        string  descricaoEvento
        float   impactoReal
        string  licoesAprendidas
        string  registradoPorEmail
        string  registradoPorNome
    }

    Comentarios {
        int      id             PK
        int      riscoId        FK
        string   texto
        string   autorEmail
        string   autorNome
        datetime dataComentario
        string   mencoesEmails
    }

    Auditoria {
        int      id             PK
        string   entidadeTipo
        int      entidadeId
        string   entidadeNome
        string   usuarioEmail
        string   usuarioNome
        datetime dataHora
        string   operacao
        string   campoAlterado
        string   valorAnterior
        string   valorNovo
    }

    EstruturaOrganizacional ||--o{ Processos         : "executa"
    EstruturaOrganizacional ||--o{ Riscos            : "é responsável por"
    Processos               ||--o{ Riscos            : "expõe"
    CategoriasRisco         ||--o{ Riscos            : "classifica"
    Riscos                  ||--o{ Controles         : "possui"
    Riscos                  ||--o{ AvaliacoesRisco   : "registra histórico de"
    Riscos                  ||--o{ PlanosTratamento  : "origina"
    PlanosTratamento        ||--o{ AcoesTratamento   : "detalha em"
    Riscos                  ||--o{ RevisoesRisco     : "é revisado em"
    Riscos                  ||--o{ EventosRisco      : "materializa em"
    Riscos                  ||--o{ Comentarios       : "recebe"
    Riscos                  ||--o{ Evidencias        : "documenta com"
    Controles               ||--o{ Evidencias        : "documenta com"
    PlanosTratamento        ||--o{ Evidencias        : "documenta com"
    AcoesTratamento         ||--o{ Evidencias        : "documenta com"
    Riscos                  ||--o{ Auditoria         : "gera trilha em"
    Controles               ||--o{ Auditoria         : "gera trilha em"
    PlanosTratamento        ||--o{ Auditoria         : "gera trilha em"
    AcoesTratamento         ||--o{ Auditoria         : "gera trilha em"
Loading

Os relacionamentos de Evidencias foram adicionados neste documento. A entidade usa chave polimórfica (contextoTipo + contextoId) para referenciar múltiplas entidades sem FKs diretas.


Para a especificação detalhada de cada entidade (atributos, tipos PostgreSQL, restrições e domínios), consulte a Seção 9 do documento docs/requisitos/requisitos_v2.1.md.

Para as implementações SQL, consulte supabase/migrations/.