OpenCyber Academy
Graduação · Capítulo 9 · Português
Código do curso: OCA-097Capítulo 09: OCA-097-C009

Capítulo 9 — Dados e bancos 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.

Mapa da aula

Aula 09 publicada. Mapa, exemplo, EX025.

flowchart TD
  N0["9.1 O registro num banco de dados"]
  N1["9.2 Consultas"]
  N2["Laboratório — Consultas a um registro de riscos sint"]
  N3["9.3 Por que a estrutura ajuda"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX025"]

Desenho lógico

flowchart LR
  N0["9.1 O registro num banco de dados"]
  N1["9.2 Consultas"]
  N2["Laboratório — Consultas a um registro de riscos sint"]
  N3["9.3 Por que a estrutura ajuda"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX025"]
[9.1 O registro num banco de dados]
    |
    v
[9.2 Consultas]
    |
    v
[Laboratório — Consultas a um registro de riscos sint]
    |
    v
[9.3 Por que a estrutura ajuda]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX025]

Objetivos de aprendizagem

Você vai (1) guardar um registro de riscos num banco de dados; (2) consultá-lo em busca de prioridades e lacunas; (3) entender por que a estrutura melhora os dados de governança.

9.1 O registro num banco de dados

O registro de riscos da Elmfield é uma planilha com células mescladas e texto livre. Sofia leva uma amostra de seis riscos para um pequeno banco SQLite com colunas definidas: identificador, título, responsável, probabilidade de um a cinco e impacto de um a cinco. Colunas definidas permitem consultas que seriam lentas e sujeitas a erro se feitas à mão. Ela aprende que a estrutura é o que transforma um registro de documento em dados capazes de responder a perguntas. Células mescladas e texto livre, por exemplo, impedem ordenar os riscos pela nota ou listar os que não têm responsável.

9.2 Consultas

O laboratório executa duas consultas. A primeira ordena os riscos pela nota, probabilidade vezes impacto. Dados de inquilinos enviados por e-mail à pessoa errada e um notebook perdido com anotações de casos empatam em doze, seguidos de ransomware no servidor de arquivos, com dez. A segunda lista os riscos sem responsável: o de mau uso da conta do prestador de manutenção e o de senhas fracas no portal do conselho. Sofia observa que os empates mostram os limites de uma escala de cinco pontos, incapaz de separar riscos que podem diferir muito nas consequências reais. Os dois riscos sem responsável são uma lacuna de governança mais clara do que o empate, porque ninguém vai agir sobre eles.

Laboratório — Consultas a um registro de riscos sintético

"""A synthetic Elmfield risk register in SQLite: top risks and unowned entries."""
import sqlite3
db = sqlite3.connect(":memory:")
db.execute("create table risk(id text, title text, owner text, likelihood int, impact int)")
db.executemany("insert into risk values (?,?,?,?,?)", [
    ("R1", "tenant data emailed to wrong person", "Housing", 4, 3), ("R2", "ransomware on file server", "IT", 2, 5),
    ("R3", "repairs contractor account misuse", None, 3, 3), ("R4", "rent payment page outage", "Finance", 3, 2),
    ("R5", "lost laptop with case notes", "Housing", 3, 4), ("R6", "weak passwords on board portal", None, 2, 2)])
for row in db.execute("select id, title, likelihood*impact s from risk order by s desc limit 3"):
    print("top", *row)
print("unowned:", [r[0] for r in db.execute("select id from risk where owner is null")])

Execute com python3 lab_sqlite.py. Saída verificada:

top R1 tenant data emailed to wrong person 12
top R5 lost laptop with case notes 12
top R2 ransomware on file server 10
unowned: ['R3', 'R6']

9.3 Por que a estrutura ajuda

Com dados estruturados, a Elmfield pode acompanhar como as notas mudam ao longo do tempo, conferir se todo risco tem responsável e produzir automaticamente os relatórios para o conselho. Sofia também acrescenta uma restrição para que probabilidade e impacto fiquem entre um e cinco, evitando erros de digitação; uma probabilidade 33 digitada por engano não vai mais parar silenciosamente no topo da lista. O Dr. Haddad observa que os bancos de dados não melhoram sozinhos os julgamentos de risco, mas os tornam visíveis, consistentes e fáceis de revisar, o que melhora a governança ao expor as lacunas.

Exemplo resolvido

Sofia carrega seis riscos no SQLite, encontra dois empatados em doze e dois riscos sem responsável e acrescenta restrições de faixa.

Caso sintético. O registro é sintético.

Erros e limites

Dados estruturados ainda podem conter julgamentos ruins. As escalas causam empates.

Exercícios

Síntese

Armazenar um registro como dados estruturados facilita enxergar prioridades e lacunas.

Respostas comentadas

EX025. Probabilidade multiplicada pelo impacto.

EX026. Dados de inquilinos enviados por e-mail à pessoa errada e o notebook perdido com anotações de casos, ambos com nota 12.

EX027. R3, mau uso da conta do prestador de manutenção, e R6, senhas fracas no portal do conselho.