Identidade em duas camadas
Cada entidade central possui chave técnica BIGINT e identificador público estável, como OC-MC-0001.
Tradução do modelo conceitual de dados e metadados para tabelas, chaves, cardinalidades, restrições e estruturas associativas, preservando identidade conceitual, proveniência, versionamento, validação, publicação e governança.
Este documento estabelece como as entidades do modelo conceitual serão representadas em um banco relacional. Ele não escolhe servidor, infraestrutura ou política de operação, mas define a estrutura lógica necessária para preservar o significado e as regras essenciais da Máquina de Conhecimento.
O modelo lógico deve ser derivável dos documentos anteriores e deve permanecer compatível com o JSON Schema do Objeto de Conhecimento.
Cada entidade central possui chave técnica BIGINT e identificador público estável, como OC-MC-0001.
O Objeto de Conhecimento existe conceitualmente; HTML, knowgrama, JSON e grafo ficam em representacao.
Versões, decisões, validações e publicações são registros próprios, não campos sobrescritos sem memória.
Códigos de estado, tipo, papel, relação e ambiente devem ser controlados por vocabulários.
_pk: chave técnica interna._id: identificador público persistente._codigo: termo de vocabulário controlado._em: data e hora com fuso._id em tabelas associativas é substituído por FKs técnicas.objeto_conhecimento, representacao, conceito e relacao_conceitual.
fonte, evidencia e suas associações.
versao_objeto e versao_representacao.
jornada, decisao, validacao e publicacao.
agente, papel, dominio.
vocabulario, termo_vocabulario e extensão governada.
| Coluna | Tipo | Regra | Finalidade |
|---|---|---|---|
| objeto_conhecimento_pk | BIGINT | PK, identidade | Chave técnica interna. |
| objeto_conhecimento_id | VARCHAR(100) | UQ, NN, padrão OC-… | Identidade pública persistente. |
| titulo_preferido | VARCHAR(250) | NN | Nome humano principal. |
| descricao | TEXT | NN, mínimo 20 caracteres | Delimitação conceitual. |
| tipo_objeto_codigo | VARCHAR(60) | NN, vocabulário | Teoria, modelo, página, knowgrama etc. |
| estado_codigo | VARCHAR(40) | NN, vocabulário | Estado no ciclo de vida. |
| responsavel_pk | BIGINT | FK, NN | Responsabilidade conceitual. |
| jornada_origem_pk | BIGINT | FK, opcional/condicional | Rastreabilidade de origem. |
| dominio_principal_pk | BIGINT | FK | Contexto principal. |
| objeto_sucessor_pk | BIGINT | FK autorreferente | Continuidade após substituição. |
| criado_em / atualizado_em | TIMESTAMPTZ | NN; atualizado ≥ criado | Histórico temporal. |
| Origem | Relação | Destino | Cardinalidade | Implementação |
|---|---|---|---|---|
| Agente | responsabiliza-se por | Objeto | 1:N | FK em objeto_conhecimento. |
| Jornada | produz/usa | Objeto | N:N | jornada_objeto. |
| Objeto | possui | Representação | 1:N | FK em representacao. |
| Objeto | associa-se a | Conceito | N:N | objeto_conceito. |
| Objeto | usa | Fonte | N:N | objeto_fonte. |
| Fonte | origina | Evidência | 1:N | FK em evidencia. |
| Objeto | possui | Versão | 1:N | FK em versao_objeto. |
| Representação | é implantada por | Publicação | 1:N | FK em publicacao. |
| Objeto | relaciona-se a | Objeto | N:N dirigida | relacao_conceitual. |
O núcleo foi estruturado predominantemente em terceira forma normal:
O modelo distingue:
Registra mudança de significado, estrutura, escopo ou regra do Objeto de Conhecimento.
Registra mudança em HTML, imagem, JSON ou outro suporte sem presumir mudança conceitual.
Essa separação impede que uma correção visual seja confundida com uma nova versão do conhecimento.
A publicação é um evento governado. Ela registra a representação, a versão implantada, a validação precedente, o ambiente, a localização, o responsável e a possibilidade de reversão.
Os campos terminados em _codigo devem, na implementação plena, referenciar termos ativos de vocabulários registrados. Na versão inicial do DDL, alguns permanecem como VARCHAR para facilitar implantação incremental.
termo_vocabulario ou tabelas de domínio específicas.A tabela valor_metadado_extensivel oferece extensão governada para necessidades ainda não incorporadas ao núcleo. Ela não deve ser usada para evitar evolução adequada do modelo.
definicao_metadado;| JSON | Relacional | Observação |
|---|---|---|
| objeto_conhecimento_id | objeto_conhecimento.objeto_conhecimento_id | Correspondência direta. |
| titulo_alternativo[] | objeto_titulo_alternativo | Uma linha por título. |
| idioma_codigo[] | objeto_idioma | Permite marcar idioma principal. |
| palavra_chave[] | objeto_palavra_chave | Uma linha por termo. |
| conceito_id[] | objeto_conceito + conceito | Associação N:N. |
| fonte_id[] | objeto_fonte + fonte | Associação com tipo de uso. |
| representacao_id[] | representacao | FK para o objeto. |
| decisao_id[] | decisao_objeto | Associação com tipo de impacto. |
O DDL inclui:
vw_objeto_conhecimento_resumo: visão consolidada para consulta e painéis;vw_objeto_publicado_sem_validacao: auditoria de publicações que não possuem validação associada.Algumas regras exigem trigger, serviço de aplicação ou auditoria:
O DDL foi escrito para PostgreSQL 16 ou superior por usar:
GENERATED ALWAYS AS IDENTITY;TIMESTAMPTZ;JSONB;CHECK;num_nonnulls.O modelo pode ser adaptado a MariaDB, MySQL ou SQLite, mas algumas restrições precisarão ser reescritas.
INSERT INTO lac_mc.objeto_conhecimento (
objeto_conhecimento_id,
titulo_preferido,
descricao,
tipo_objeto_codigo,
estado_codigo,
responsavel_pk,
dominio_principal_pk,
criado_em,
atualizado_em
) VALUES (
'OC-MC-0001',
'Modelo da Máquina de Conhecimento do LAC',
'Formaliza os elementos, relações, estados e transformações da Máquina de Conhecimento.',
'modelo_conceitual',
'publicado',
:responsavel_pk,
:dominio_fundacao_pk,
'2026-07-27T14:30:00-03:00',
'2026-07-27T17:10:00-03:00'
);Apto a orientar a criação do banco PostgreSQL e o detalhamento do modelo físico.