SGEProduto · Domínio · Desenvolvimento
Repositório

data-model · defined

Modelagem de dados

Modelo lógico relacional do sistema, com tabelas, colunas, chaves estrangeiras e relações direcionadas.

Esta é a referência visual do modelo lógico relacional. Cada caixa representa uma tabela e cada linha representa uma coluna com seu tipo. PK identifica a chave primária, FK a chave estrangeira e UK a unicidade. As setas acompanham a relação entre as tabelas; a coluna marcada como FK identifica o vínculo sem repetir texto sobre a linha.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

A conta possui vínculos; um vínculo autoriza a solicitação; a solicitação origina o estágio; e o estágio referencia documentos gerados. Avaliações ficam no recorte de execução.

Fonte declarativa: diagrams/sources/modelo-dados-schema.mmd

Identidade e cadastros

Contas, dados pessoais, cidades, endereços e vínculos formam o contexto institucional. Campus, curso e tipo de estágio são cadastros que restringem o escopo do processo.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

A conta possui dados pessoais e vínculos; cidades são catalogadas pelo código IBGE, endereços apontam para elas e cadastros mantêm endereços atuais.

Fonte declarativa: diagrams/sources/modelo-nucleo-identidade.mmd

Detalhes dos contratos: cities, addresses, user_personal_data, campuses, affiliations, courses e internship_types.

Contexto de acesso

O mesmo conjunto de tabelas aparece isolado abaixo para deixar explícito o recorte usado por Gates e Policies: uma conta pode possuir vários vínculos, e cada vínculo carrega tipo, campus e curso.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

Uma conta exerce vários vínculos; cada vínculo referencia campus e curso, carrega o tipo funcional e define o escopo das Policies.

Fonte declarativa: diagrams/sources/modelo-acesso-erd.mmd

Leia também Pessoas e responsabilidades e Matriz de autorização.

Solicitação e formalização

Uma solicitação é criada por um vínculo discente, recebe dados de curso, tipo e concedente, e pode acumular correções e evidências privadas antes da formalização.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

A solicitação é enviada por um vínculo discente, referencia curso, tipo e concedente, e mantém o estado que conduz à formalização.

Fonte declarativa: diagrams/sources/modelo-nucleo-solicitacao.mmd

As relações que completam a formalização ficam neste recorte: correções e evidências.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

Uma solicitação pode originar um estágio e receber várias correções e evidências; cada registro preserva sua própria chave e estado.

Fonte declarativa: diagrams/sources/modelo-solicitacao-apoio.mmd

Detalhes dos contratos: granting_parties, supervisor_registration_requests, granting_party_registration_requests, internship_requests, emancipation_evidences e internship_request_corrections.

Execução do estágio

Depois do aceite, o estágio concentra as vigências de jornada, pausas, o cálculo baseado no calendário nacional, estadual e municipal aplicável à cidade/UF do endereço histórico do local de trabalho, pedidos de cancelamento e avaliação do supervisor.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

O estágio usa os feriados nacionais, estaduais e municipais aplicáveis ao endereço do local de trabalho, possui jornadas, pausas e exceções e pode receber um pedido de cancelamento; a avaliação é detalhada no contrato próprio.

Fonte declarativa: diagrams/sources/modelo-nucleo-execucao.mmd

Detalhes dos contratos: internships, internship_pauses, avaliações, internship_cancellation_requests, holidays, internship_calendar_overrides e internship_work_schedules.

Documentos e versões

Templates são catálogos; versões são imutáveis depois da ativação; documentos gerados preservam a versão e o snapshot usado no processo.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

Um template possui versões imutáveis; cada documento gerado referencia a versão usada, o estágio e os dados congelados da geração.

Fonte declarativa: diagrams/sources/modelo-documentos-schema.mmd
TabelaPapelContrato
document_templatescatálogo de modelos por campus ou globaisMigration 13
template_versionsversões, variáveis e validação do arquivoMigration 14
generated_documentsdocumento gerado ou registrado no estágioMigration 16

Histórico e comunicação

O histórico operacional separa auditoria, notificação, mensagem e tentativa de transporte. Um registro não substitui o outro. activity_log não recebe uma seta porque registra subject e causer de forma polimórfica: seu alvo depende do tipo gravado em cada linha.

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Tabela
  • Chave primária
  • Chave estrangeira
  • Relacionamento
Leitura semântica

Activity log registra sujeito e causador de forma polimórfica; notificações podem originar mensagens e cada mensagem possui tentativas de entrega append-only.

Fonte declarativa: diagrams/sources/modelo-historico.mmd

Detalhes dos contratos: activity_log, notifications, email_messages e email_delivery_attempts.

Regras do modelo

  • FKs apontam para cadastros atuais; snapshots e cópias históricas de endereço preservam os valores usados em um processo já iniciado. Cada cadastro ou registro histórico usa sua própria linha de addresses, mesmo quando os valores coincidem.
  • A solicitação origina no máximo um estágio, mas correções e evidências podem ser várias.
  • internships é o agregado operacional: jornadas, pausas, documentos, avaliações e cancelamentos dependem dele.
  • Templates podem ter muitas versões, mas um documento gerado referencia apenas a versão usada na geração.
  • Notificações podem originar mensagens; cada mensagem pode ter várias tentativas de entrega.
  • A autorização nasce do vínculo ativo, não de uma permissão gravada em tabela.

Para estados e transições, consulte Ciclos de status. Para o contrato textual consolidado, consulte Domínio e modelo de dados.