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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-dados-schema.mmdIdentidade 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-nucleo-identidade.mmdDetalhes 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-acesso-erd.mmdLeia 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-nucleo-solicitacao.mmdAs 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-solicitacao-apoio.mmdDetalhes 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-nucleo-execucao.mmdDetalhes 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-documentos-schema.mmd| Tabela | Papel | Contrato |
|---|---|---|
document_templates | catálogo de modelos por campus ou globais | Migration 13 |
template_versions | versões, variáveis e validação do arquivo | Migration 14 |
generated_documents | documento gerado ou registrado no estágio | Migration 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
Renderizando diagrama declarativo…
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.
diagrams/sources/modelo-historico.mmdDetalhes 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.