◇ OpenCyber Academy
Tecnólogo · Capítulo 4 · Português

Capítulo 4 — Modelos de dados

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 4 — Modelos de dados

Mapa da aula

Aula 04 publicada. Mapa, exemplo, EX010.

flowchart TD
  N0["4.1 Tabelas, chaves e atributos"]
  N1["4.2 Relações"]
  N2["4.3 O que não guardar"]
  N3["4.4 Campos de qualidade dos dados"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX010"]

Desenho lógico

flowchart LR
  N0["4.1 Tabelas, chaves e atributos"]
  N1["4.2 Relações"]
  N2["4.3 O que não guardar"]
  N3["4.4 Campos de qualidade dos dados"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX010"]
[4.1 Tabelas, chaves e atributos]
    |
    v
[4.2 Relações]
    |
    v
[4.3 O que não guardar]
    |
    v
[4.4 Campos de qualidade dos dados]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX010]

Objetivos de aprendizagem

Você vai (1) projetar uma tabela simples de ativos com chaves e atributos; (2) escolher identificadores que sobrevivam à troca de um dispositivo; (3) representar relações como "o gateway atende os registradores"; e (4) manter atributos sensíveis fora das tabelas gerais.

4.1 Tabelas, chaves e atributos

Uma tabela de ativos tem uma linha por ativo. A chave precisa ser única e estável. Endereços IP são chaves ruins, porque mudam quando um dispositivo é reendereçado; números de série mudam quando um dispositivo é substituído. A NCS usa uma etiqueta de ativo pintada no equipamento (por exemplo, "MP-1/PLC-R1"), que permanece com a função. O esquema de Priya usa essa etiqueta como chave de todas as tabelas, e é assim que as tabelas de ativos, de registradores e de fluxos se juntam sem problemas mesmo depois que o firmware documentado do PLC-R2 se revelou errado.

4.2 Relações

Quarenta registradores reportam pelo GW-LOG. Guardar "gateway" como atributo de cada linha de registrador cria uma relação de um para muitos que permite a uma consulta responder, numa linha, "quais registradores apagam se o GW-LOG falhar?". Da mesma forma, uma tabela de fluxos com chaves de origem e de destino liga os ativos no quadro de comunicações usado no Capítulo 12. A tabela de registradores de Priya guarda tag, room e gateway_tag. A sua consulta select tag, room from loggers where gateway_tag = 'GW-LOG' lista os quarenta registradores com as suas salas, e essa lista virou a tabela de impacto do plano de continuidade da NCS.

4.3 O que não guardar

Senhas, chaves privadas e backups completos de configuração não pertencem a uma tabela de ativos compartilhada. Guarde uma referência ("credencial guardada no cofre, entrada OT-17") e mantenha o segredo num sistema feito para isso. Uma planilha de senhas num drive compartilhado é um achado comum em avaliações de TO. No esquema de Priya, a tabela de ativos tem uma coluna de responsável e uma coluna de fonte, mas nenhuma coluna de credencial. A senha de administrador local da HMI-C, que ela depois encontra num bilhete adesivo, pertence ao cofre, com uma referência como OT-17 na tabela, e não a uma célula que qualquer pessoa com a planilha consegue ler.

4.4 Campos de qualidade dos dados

Acrescente a cada linha a "fonte" (documentação, observação da rede, vistoria em campo) e a data da "última verificação". Um inventário sem datas não merece confiança depois de um ano. O PLC-R2 mostra por quê. O firmware documentado, 2.4, veio dos registros de comissionamento da empresa contratada; a captura passiva reportou 2.1; e a vistoria de Priya leu 2.1 no painel frontal. Com uma coluna de fonte, a linha agora diz firmware 2.1, fonte vistoria, última verificação na data da visita, e um leitor pode ver que o valor antigo veio de documentos nunca atualizados depois do comissionamento. Sem a data, ninguém saberia se a leitura da vistoria era da semana passada ou de dois anos atrás.

Exemplo resolvido (NCS sintética)

O esquema de Priya: assets(tag, type, function, zone, firmware, owner, source, last_verified); loggers(tag, room, gateway_tag); flows(src_tag, dst_tag, protocol, port, approved). A sua consulta "select tag, room from loggers where gateway_tag = 'GW-LOG'" lista os 40 registradores e as suas salas, o que virou a lista de impacto do plano de continuidade da instalação.

Caso sintético — Northgate Cold Storage. O esquema e as contagens são inventados.

Erros e limites

Um modelo vale o que vale a sua manutenção; designe um responsável. Normalizar demais os dados de uma instalação pequena pode torná-los mais difíceis de usar que uma única tabela bem mantida.

Exercícios

Síntese

Um modelo de dados pequeno e estável, com chaves, relações e datas, é o que transforma inventário em respostas.

Continue estudando — capítulo 04 de 30

← Capítulo 03 · Índice de capítulos do curso · Capítulo 05 →

Siga para a próxima lição escrita.