Saltar para o conteúdo
Informática · 11.º Ano · Desenvolvimento de Aplicações e Interfaces · 2o Periodo

SQL: DML (Data Manipulation Language)

Os alunos praticam a inserção, atualização e eliminação de dados em tabelas usando comandos SQL DML (INSERT, UPDATE, DELETE).

Aprendizagens EssenciaisDGE: Secundário - Bases de DadosDGE: Secundário - Linguagens de Consulta

Sobre este tópico

A Linguagem de Manipulação de Dados (DML) em SQL centra-se nos comandos INSERT, UPDATE e DELETE, que permitem aos alunos inserir novos registos, actualizar dados existentes e eliminar linhas específicas em tabelas de bases de dados. Neste tópico do 11.º ano, os alunos praticam estas operações em cenários realistas, utilizando cláusulas WHERE para seleções precisas e condições múltiplas para operações complexas. Esta prática desenvolve competências essenciais em Bases de Dados e Linguagens de Consulta, alinhadas com o Currículo Nacional.

No contexto da unidade de Desenvolvimento de Aplicações e Interfaces, os alunos exploram a diferenciação prática destes comandos, preveem resultados de operações DML elaboradas e identificam riscos de segurança, como injeções SQL em consultas mal protegidas. Estas ligações promovem o pensamento computacional avançado, preparando-os para aplicações web seguras e manutenção de dados em projetos reais.

A aprendizagem ativa beneficia particularmente este tópico porque as simulações em ferramentas como SQLite ou DB Browser tornam os comandos executáveis e visíveis em tempo real. Os alunos experimentam erros comuns, como eliminações acidentais sem WHERE, colaboram em desafios de previsão de resultados e debatem estratégias de segurança, fixando conceitos através da prática iterativa e da resolução de problemas concretos.

Questões-Chave

  1. Quais são os riscos de segurança associados a consultas SQL mal protegidas?
  2. Diferencie a utilização de INSERT, UPDATE e DELETE em cenários práticos.
  3. Preveja o resultado de uma operação DML complexa com múltiplas condições.

Objetivos de Aprendizagem

  • Demonstrar a sintaxe correta dos comandos SQL INSERT, UPDATE e DELETE para manipular dados em tabelas.
  • Analisar o impacto de diferentes condições na cláusula WHERE sobre os resultados das operações DML.
  • Criar consultas SQL DML que envolvam múltiplas tabelas através de junções (JOINs) para atualizações ou inserções condicionais.
  • Avaliar os riscos de segurança associados a consultas SQL DML não sanitizadas, identificando potenciais vulnerabilidades como injeção de SQL.
  • Comparar a eficácia e os cenários de uso apropriados para INSERT, UPDATE e DELETE em cenários práticos de gestão de dados.

Antes de Começar

Estrutura de Bases de Dados: Tabelas e Colunas

Porquê: Os alunos precisam de compreender o conceito de tabelas, colunas e linhas para poderem manipular dados dentro delas.

SQL: Comandos Básicos (SELECT, FROM, WHERE)

Porquê: A familiaridade com a sintaxe básica do SQL e a cláusula WHERE é fundamental para construir comandos DML mais complexos.

Vocabulário-Chave

INSERTComando SQL utilizado para adicionar novas linhas (registos) a uma tabela de base de dados.
UPDATEComando SQL usado para modificar os dados existentes em uma ou mais linhas de uma tabela.
DELETEComando SQL que remove uma ou mais linhas de uma tabela de base de dados.
Cláusula WHEREParte de um comando SQL que especifica condições para filtrar os registos a serem afetados pela operação (INSERT, UPDATE, DELETE).
Injeção de SQLUm tipo de ataque de segurança onde código malicioso é inserido em comandos SQL, podendo comprometer a integridade ou confidencialidade dos dados.

Atenção a estes erros comuns

Erro comumO comando DELETE remove toda a tabela.

O que ensinar em alternativa

O DELETE sem cláusula WHERE elimina todos os registos, mas com WHERE é selectivo. A prática em pequenos grupos, testando ambas as versões numa tabela de teste, revela a diferença imediatamente e reforça a importância da precisão.

Erro comumUPDATE altera apenas o primeiro registo que encontra.

O que ensinar em alternativa

O UPDATE afecta todos os registos que cumprem a condição WHERE. Desafios colaborativos onde grupos preveem e verificam múltiplas linhas afectadas ajudam a corrigir esta ideia, promovendo verificação empírica.

Erro comumINSERT ignora violações de chaves primárias.

O que ensinar em alternativa

O INSERT falha se houver duplicação de chave primária. Actividades de pares com inserções intencionalmente erradas mostram erros de SQL, incentivando depuração activa e compreensão de restrições.

Ideias de aprendizagem ativa

Ver todas as atividades

Ligações ao Mundo Real

  • Um gestor de base de dados numa loja online utiliza comandos UPDATE para ajustar preços de produtos ou DELETE para remover itens descontinuados. A precisão destes comandos é crucial para evitar perdas financeiras e garantir a satisfação do cliente.
  • Desenvolvedores de aplicações web usam INSERT para registar novos utilizadores na base de dados de um serviço de streaming, ou UPDATE para modificar os seus perfis. A segurança destas operações previne o acesso não autorizado a dados pessoais.
  • Analistas de dados em instituições financeiras utilizam DELETE para remover registos duplicados ou obsoletos e UPDATE para corrigir informações incorretas em grandes conjuntos de dados transacionais, assegurando a fiabilidade dos relatórios.

Ideias de Avaliação

Verificação Rápida

Apresente aos alunos uma tabela de base de dados simplificada (ex: 'Clientes' com 'ID', 'Nome', 'Email', 'DataRegisto'). Peça-lhes para escreverem um comando SQL INSERT para adicionar um novo cliente fictício e um comando UPDATE para alterar o email de um cliente existente, especificando o ID correto.

Bilhete de Saída

Dê aos alunos um cenário: 'Uma promoção terminou e precisa de remover todos os pedidos feitos antes de 1 de Janeiro de 2023.' Peça-lhes para escreverem o comando SQL DELETE necessário, incluindo a cláusula WHERE apropriada. Adicionalmente, peça-lhes para identificarem um risco de segurança se o comando não for bem construído.

Questão para Discussão

Coloque a seguinte questão para discussão em pequenos grupos: 'Imaginem que têm uma tabela de 'Produtos' e precisam de aumentar o preço de todos os produtos da categoria 'Eletrónica' em 10%. Como escreveriam o comando UPDATE? Quais seriam as consequências se, por engano, omitissem a cláusula WHERE ou a condição de categoria?'

Perguntas frequentes

Quais os riscos de segurança em consultas SQL DML mal protegidas?
Consultas sem protecção contra injeções SQL permitem ataques que inserem código malicioso via inputs de utilizadores, podendo eliminar ou alterar dados inteiros. Ensine prepared statements e validação de inputs. Prática com simulações de ataques em ambientes controlados mostra impactos reais, fomentando hábitos seguros desde cedo.
Como diferenciar INSERT, UPDATE e DELETE em cenários práticos?
INSERT adiciona novos registos, UPDATE modifica existentes com condições, DELETE remove linhas selectivas. Num cenário de gestão de stock, INSERT para novos produtos, UPDATE para ajustar quantidades, DELETE para itens obsoletos. Exemplos hands-on em bases de dados locais clarificam usos e evitam confusões.
Como a aprendizagem activa ajuda no SQL DML?
A aprendizagem activa, como desafios em pares com ferramentas interactivas, permite executar comandos e ver resultados imediatos, corrigindo erros em tempo real. Colaboração em previsões de queries complexas desenvolve raciocínio lógico, enquanto simulações de cenários reais fixam riscos de segurança. Esta abordagem torna conceitos abstractos concretos e memoráveis.
Como prever o resultado de uma operação DML complexa?
Analise a cláusula WHERE, condições lógicas e interacções entre tabelas. Teste em subconjuntos de dados pequenos primeiro. Actividades de classe inteira com projecções e execuções colectivas treinam esta habilidade, comparando previsões com outputs para refinar o pensamento computacional.