Segurança e Integridade de Dados em Bases de Dados
Os alunos implementam regras e restrições para garantir que a informação permanece correta e protegida em bases de dados.
Sobre este tópico
A segurança e integridade de dados em bases de dados centra-se na implementação de regras e restrições para manter a informação correta e protegida. Os alunos do 12.º ano aprendem a controlar acessos com privilégios granulares, validar entradas para evitar erros e inconsistências, e gerir cópias de segurança para garantir a continuidade operacional. Estes procedimentos respondem diretamente às questões chave: quem deve aceder a que dados e como controlar esses privilégios, como prevenir perdas em sistemas críticos, e o papel dos backups nos negócios.
Este tema integra-se na unidade de Desenvolvimento de Aplicações e Web, alinhando-se aos standards DGE de Segurança e Privacidade e Cidadania Digital do Currículo Nacional do Secundário. Os alunos aplicam conceitos como chaves estrangeiras, triggers e encriptação, desenvolvendo pensamento crítico sobre riscos reais, como injeções SQL ou falhas de hardware. Esta abordagem prepara-os para cenários profissionais onde a integridade dos dados é essencial.
A aprendizagem ativa beneficia especialmente este tópico, pois permite simular ataques e falhas em bases de dados reais ou virtuais. Atividades práticas, como configurar permissões em grupo ou restaurar backups colaborativamente, tornam abstratos conceitos tangíveis, revelam vulnerabilidades comuns e fomentam discussões que reforçam boas práticas de segurança.
Questões-Chave
- Quem deve ter acesso a que dados e como controlamos esse privilégio?
- Como prevenir a perda de informação em sistemas críticos?
- Qual o papel das cópias de segurança na continuidade de um negócio?
Objetivos de Aprendizagem
- Analisar a eficácia de diferentes tipos de restrições (domínio, integridade referencial) na prevenção de dados inválidos numa base de dados relacional.
- Avaliar os riscos de segurança associados a diferentes níveis de privilégios de acesso a dados e propor soluções de controlo.
- Projetar uma estratégia de cópia de segurança e recuperação para uma aplicação web crítica, considerando RTO e RPO.
- Comparar métodos de encriptação de dados em repouso e em trânsito, justificando a sua aplicação em cenários específicos.
- Demonstrar a implementação de triggers para automatizar a validação e a manutenção da integridade dos dados.
Antes de Começar
Porquê: Os alunos precisam de compreender os conceitos fundamentais de tabelas, chaves primárias, chaves estrangeiras e a sintaxe básica de SQL para poderem implementar restrições e controlar acessos.
Porquê: A compreensão de lógica de programação é útil para entender como as restrições e triggers funcionam para validar e manipular dados de forma controlada.
Vocabulário-Chave
| Integridade Referencial | Garante que as relações entre tabelas numa base de dados são consistentes, impedindo a criação de registos órfãos ou a eliminação de dados referenciados. |
| Restrições de Domínio | Regras aplicadas a uma coluna específica para garantir que os valores inseridos estão dentro de um intervalo ou conjunto permitido, assegurando a validade dos dados. |
| Privilégios de Acesso | Permissões concedidas a utilizadores ou grupos para realizar operações específicas (ler, escrever, apagar) em determinados dados ou objetos da base de dados. |
| Cópia de Segurança (Backup) | Uma cópia de dados armazenada separadamente, utilizada para restaurar a informação em caso de perda, corrupção ou ataque. |
| Encriptação | Processo de codificação de dados para que só possam ser lidos por pessoas autorizadas, protegendo a confidencialidade da informação. |
Atenção a estes erros comuns
Erro comumSenhas simples bastam para proteger bases de dados.
O que ensinar em alternativa
A autenticação multifator e roles granulares são essenciais para controlar acessos. Atividades de simulação de acessos em grupo ajudam os alunos a verem como senhas fracas permitem escalada de privilégios, promovendo discussões que clarificam a necessidade de camadas múltiplas.
Erro comumBackups são opcionais em sistemas não críticos.
O que ensinar em alternativa
Todos os sistemas precisam de backups para continuidade. Exercícios de recuperação prática mostram o tempo e esforço envolvidos em falhas, ajudando os alunos a internalizarem o custo de omissões através de comparações colaborativas.
Erro comumRestrições de integridade complicam desnecessariamente as bases de dados.
O que ensinar em alternativa
Elas previnem erros humanos e ataques. Workshops de implementação revelam como constraints evitam dados corrompidos, com testes em pares que destacam benefícios em cenários reais.
Ideias de aprendizagem ativa
Ver todas as atividadesSimulação de Acessos: Roles e Privilégios
Divida a turma em equipas para criar uma base de dados simples com utilizadores de diferentes roles. Cada equipa define permissões SQL para leitura, escrita e eliminação. Testem acessos uns dos outros e registem violações.
Workshop de Restrições: Validação de Dados
Forneça esquemas de bases de dados com dados inválidos. Os alunos implementam constraints como NOT NULL e CHECK em ferramentas como SQLite. Validem e corrijam entradas em conjunto, discutindo impactos.
Recuperação de Backup: Cenário de Falha
Simule uma falha apagando dados de uma base partilhada. Grupos restauram a partir de backups criados previamente, cronometrando o processo e comparando estratégias de full e incremental.
Análise de Riscos: Debate de Incidentes
Apresente casos reais de breaches. Em círculo, os alunos propõem regras de segurança e votam nas melhores, justificando com standards de privacidade.
Ligações ao Mundo Real
- Bancos como o Millennium BCP utilizam sistemas robustos de gestão de bases de dados com controlos de acesso granulares e backups frequentes para proteger as informações financeiras dos seus clientes contra fraudes e falhas técnicas.
- Hospitais como o Hospital de Santa Maria implementam políticas rigorosas de segurança de dados para garantir a confidencialidade e integridade dos registos médicos eletrónicos, cumprindo regulamentos como o RGPD.
- Empresas de comércio eletrónico, como a Worten, dependem da integridade das suas bases de dados de produtos e clientes para gerir inventários, processar encomendas e manter a confiança do consumidor, recorrendo a mecanismos de validação e recuperação rápida.
Ideias de Avaliação
Entregue a cada aluno um cenário fictício (ex: um novo utilizador precisa de acesso limitado a uma tabela de clientes). Peça-lhes para escreverem duas instruções SQL para criar um utilizador e conceder-lhe o mínimo de privilégios necessários para ler apenas os nomes e emails.
Apresente aos alunos um pequeno conjunto de dados com inconsistências (ex: idades negativas, datas futuras). Peça-lhes para identificarem quais as restrições de domínio ou integridade que poderiam ter prevenido estes erros e como as implementariam em SQL.
Coloque a questão: 'Imaginem que uma base de dados de uma rede social foi comprometida. Quais seriam as consequências mais graves da perda de integridade ou confidencialidade dos dados? Como poderiam as cópias de segurança e a encriptação mitigar estes riscos?'
Perguntas frequentes
Como a aprendizagem ativa ajuda na segurança de bases de dados?
Quem deve ter acesso a que dados em bases de dados?
Como prevenir perda de informação em sistemas críticos?
Qual o papel das cópias de segurança na continuidade de negócios?
Mais em Desenvolvimento de Aplicações e Web
Fundamentos de HTML: Estrutura e Semântica
Os alunos estruturam conteúdos de páginas web utilizando HTML, focando na semântica e acessibilidade.
2 methodologies
Estilização com CSS: Seletores e Propriedades
Os alunos estilizam visualmente páginas web usando CSS, aplicando seletores e propriedades para controlar o layout e a aparência.
2 methodologies
Layout Responsivo com CSS Flexbox e Grid
Os alunos criam designs responsivos que se adaptam a diferentes tamanhos de ecrã usando Flexbox e CSS Grid.
2 methodologies
Interatividade com JavaScript: DOM e Eventos
Os alunos introduzem-se à programação do lado do cliente para tornar as páginas web dinâmicas, manipulando o DOM e gerindo eventos.
2 methodologies
Validação de Formulários com JavaScript
Os alunos implementam validação de dados em formulários web usando JavaScript para melhorar a experiência do utilizador e a segurança.
2 methodologies
Introdução a APIs Web e AJAX
Os alunos exploram como as páginas web podem comunicar com servidores e outras aplicações usando APIs e requisições AJAX.
2 methodologies